Don't signal ClientConnection IDLE StatusResponses

This fixes a subtle bug in the IMAP stack.  The most prominent symptom
was for the entire folder list to clear after running Geary for a day
or so.  Smaller symptoms were less noticeable, but could include dropped
incoming messages (which would be picked up later when Geary was restarted
or the connection was dropped and reestablished).

The essential problem is that ClientConnection generates internal
IDLE commands to control data flow and to receive unsolicited
server data.  It would always signal the corresponding IDLE responses
from the server.  These were being stored in the ClientSession object
as "finished commands" for commands it did not issue, leading to the
internal IDLE tag being kept around in a hash map.  When the tag
numbering rolled over (which could take 8 - 12 hours depending on the
connection) the ClientSession would complete new commands with those
leftover tags instantly, causing for results to be dropped and the
session state machine to be out of sync with the server.

The solution is simply not to report status responses for internal
IDLE commands.
Improved debugging and appropriate Error in Imap.Account
Use NORMAL SQLite synchronous mode

With the database improvements over this cycle, testing shows
that we can now switch to NORMAL synchronous mode with little to
no performance loss but better database safety.
Merge https://git.gnome.org/browse/geary