Allows for requesting optional headers when fetching messages

* Defines new fetch request kind `IMAPMessagesRequestKindExtraHeaders`
* Exposes `extraHeaders` property on fetch messages operations
* Modifies `MessageHeader::importIMFFields` for handling optional headers

One open TODO:

* `MessageHeader::mExtraHeaders` expects string values but needs to handle arrays to correctly deal with a keywords header.