Support all IMAP message headers if needed. Remove Doctrine dependency.

(Background: I deal with a lot of messages which have custom headers.)

This commit solves two problems:

1. The Doctrine ArrayCollection object wastes resources in each message object for a simple MIME header array.
2. I need custom headers not returned by the default `imap_header()` function.