First steps for async encryption handling
* src/Makefile.am (gpgol_SOURCES): Add new files. * src/common_indep.h (log_mime_data): Shorthand for DBG_MIME_DATA. * src/cryptcontroller.cpp, src/cryptcontroller.h: New. Similar to parsecontroller but the other way around. * src/mail.cpp (do_crypt): New. Thread helper. (Mail::encrypt_sign): Renamed to Mail::encrypt_sign_start. And changed to use cryptcontroller. (Mail::update_crypt_mapi): New. Dummy. (Mail::update_crypt_oom): New. Dummy. (Mail::CryptState): Helper state for encryption. * src/mailitem-events.cpp: Add proof of concept for new enc. * src/mimemaker.h (add_body_and_attachments): Export. * src/windowmessage.h, src/windowmessages.cpp (CRYPTO_DONE): New.
This shows the general possibility of async crypto by first collecting
the data, then doing the crypto and then still to have the possibility
to update the encrypted data both in MAPI and in OOM.