[IMAPx] Manage mailboxes and namespaces in CamelIMAPXStore

The mailboxes and namespaces had been managed in CamelIMAPXServer,
which was perfectly fine before the concurrent connections were added,
because each of the connection could know only on part of the two,
which is not enough. This could let to a failure of folder update
(the case I face were when an empty folder had added old messages,
where one connection new there are some messages, but the connection
serving this update thought there are no messages, thus it didn't try
to download anything).
Bug #699797 - Verify SSL trust after redirection
Bug #728087 - Use-after-free in contact address switch in composer
e_soup_ssl_trust_network_event_cb: Requires a GTlsConnection connection

The connection can be other than the GTlsConnection, like a GTcpConnection,
thus count with it and connect to "accept-certificate" signal only if
the given connection is the GTlsConnection descendant.
[ownCloud backend] Check color format before using it

Calendar-based sources have always overwritten color, to ensure
the color defined on the server matches the one used in evolution,
but there was not checked whether the color is of the right format,
which may eventually cause reset of a user-specified color to
an invalid one, showing the calendar in an odd color.
Bug #728737 - [IMAPx] Namespaces not recognized in subscription list
[IMAPx] Keep store summary's flags in sync with mailbox flags

This way mailbox attributes like \NoSelect gets in sync with
folder info flags, which makes it work properly, the non-selectable
folders will not be updated (tested with GMail's "[GMail]" folder).
[IMAPx] Use case-insensitive compares and hash table functions

Almost all attributes, responses and commands in general are
case-insensitive in IMAPx, thus even the code can "normalize"
the respective strings to proper case, it's safer to use
case-insensitive compares and equal-functions in hash tables
where applicable.
Fix two calendar-related memory leaks
camel_network_service_can_reach_sync: Forgotten local_error propagate
Do not return CAMEL_AUTHENTICATION_REJECT on runtime errors

Returning CAMEL_AUTHENTICATION_REJECT on runtime errors also means
that a stored password is forgotten and a user is asked for it,
which is eventually not used, because the runtime error can repeat.
The correct return code is CAMEL_AUTHENTICATION_ERROR in this case.
imapx_connect_sync: Use connection manager to connect to the server

This function opened a new connection to the server, but immediately
dropped it, which, apart of waste of resources, can cause trouble
when other parts asked for the connection to the server, but those
using the connection manager, which is the correct way of dealing
with connections to the server now. The previous behaviour can cause
a race condition on the imapx_store->priv->connecting_server, which
led later to runtime warnings and misbehaviour in general.
Remove unused imapx_unmark_folder_subscribed()

I overlooked to remove it in one of the previous related commits.
Fix "may be used uninitialized" warning
Bug #728917 - Crashes on start with SIGSEGV in data_book_factory_list_books