added RobustClient wrapper class to recover from IMAP timeouts, socket errors etc
properly reconnect to select_folder state on retry