Update ClientConnection state machine inside mutex

While looking at a user's network log I spotted a server error related
to how Geary drops from the IMAP connection's IDLE state.  There was a
timing hole where a command could be issued while a flush followed by
an IDLE was issued.  Without updating the FSM, the new command would
be queued without issuing a DONE to end IDLE.