Add simple test to check if writing a parsed message leads to input data
Add support for storing raw header fields
Fix MessageTest now that we preserve line breaks in headers
Modify ReconstructMessageTest to highlight more problems
Move "magic" from Part.setBody() implementations to MimeMessageHelper.setBody()

Now adding message bodies during parsing won't set/modify headers.
Modify BinaryTempFileBody to retain the encoded body

For now this breaks a lot of things, e.g. saving messages to the database
and making messages 7-bit safe.
Fix setUsing7bitTransport() functionality for BinaryTempFileBody
Add helper method to decode message bodies

Depending on whether a Body implements RawDataBody (which indicates the class
retains the original encoding) the helper method either strips the transfer
encoding or simply returns the result of Body.getInputStream().

This should restore the original functionality. So saving messages in the
database should work fine again.
Save multi part epilogue in MimeMultipart
Store multi part preamble as byte array
Merge pull request #21 from k9mail/reconstruct_original_message_in_memory

Reconstruct original message in memory