CamelIMAPXServer: Move IDLE structs to private section.
CamelIMAPXServer: Remove IDLE_LOCK/UNLOCK() macros.

Just call g_mutex_lock/unlock() directly.
CamelIMAPXServer: Use a main loop in the IDLE thread.

Instead of mucking with infinite "while" loops and condition variables,
run a GMainLoop in the IDLE thread and attach a GSource from the parser
thread when an IDLE command should be issued.
CamelIMAPXServer: Give IDLE state enum a proper type definition.