First pass at interface for new rendering methods. This currently only
includes IMAP. RFC 822 to come.
* HTML rendering - #112
* Plain text - #111
Revert commit 5164e8925ff11db7aa632bd735e0f0b6c82a251a.
Added interface for synchronous methods.
Added newline.
Added error code parameter. Followed existing conventions.
Added interface for asynchronous methods.
Revert changes to IMAP sessions.
* Revert commit 22b05c3246ed8ee4076faa417b212832646a3be5.
* Revert commit 35d29ed4b086a7287b7b46f8fa6da40e0dcb24f3.
* Revert commit db2671bfc9c85e917b6bbfbf4887f734944af22e.
* Revert commit af5702759cef47567796c879ae60367a47fc59c9.
First pass at IMAP message rendering operation.
Updated message rendering operation.
* Added rendering enumerated type.
* Added result string.
* Removed data.
* Moved rendering methods from IMAP message rendering operation to
  IMAP session.
Allows for custom headers to be set in message

* Adds setHeaders, addHeader, getHeader to {MCO,MC}MessageHeader
* Exposes MCHashMap iterator for more effecient iteration
Made plain text body the default rendering type.
Replaced UID ivar and accessor methods with equivalents for message.
* Passing message ivar to methods in `main()`.
WIP: Message Renderer Helper
* Created a generic message renderer helper class.
* Renamed "msg" to "message" in session rendering methods.
Removed session from message renderer helper.
Added implementation for rendering methods for IMAP session.
* Plain text methods call HTML methods and then modify the result.
* Added HTML body renderer template callback which returns an empty
  header template.
Added missing semicolons.
Removed `this` when calling methods as it's not required outside of
static contexts.
Fixes for PR feedback

* Reverts MCHashMap changes, uses mc_foreachdictionaryKeyAndValue
* Adds getter for mExtraHeaders to MessageHeader
* Adds removeHeader
* Tweaks method names
Fixed use of MC_SAFE_REPLACE_COPY.
Fixed interface for message getter method.
* Returns a pointer to IMAPMessage.