Added: Tests for archive exists and has write permissions on startup
(isValidArchive to return test results)
Added: prefixSubject - Prepends subject to message content (s:
<subject>\n)
Added: getMessageContent(MultiMimepart) loops through message parts
until it gets text or html (text takes precedence over html).  Uses a
recursive loop to go into each MultiMimepart of the email
Added: removeMessageFromDatabase function to remove a message from the
db when we fail to write the content to the archive
Added commons validator for email verification
Added getAddressType returns type 1 or type 2 email address (1: without
name part, 2: with name part)
Added updateName: if we get a name part update this in the db where
appropriate