[CamelIMAPXConnManager] Can starve in close connections

Both connect and close connections require a write lock on the list
of connections. The connect holds it during whole connecting phase,
thus when there was issued a close connection request then this could
starve, waiting for the connect to finish, which is not good, because
the connect can be stuck, for example in a dead socket connection.
Having an explicit list of pending connections (their cancellables)
allows to cancel pending connections during this stuck state.