RFC 822 code cleanup
Cleans up a number of issues with the existing Geary.RFC822
package, including:
- Reformat source files with bad indentation to better match convention
- Cleanly split message data classes along the lines of decoded and non-decoded types.
- Ensure decoded message data classes are immutable, use a consistent API, store decoded values, throw errors when decoding fails in their ctors, and provide a means to re-format as RFC 822 as needed
- Move RFC822Error actually into the RFC822 package
- Remove the
Message.without_bcc
ctor and use already-parsed GMime header forms when stocking from a GMime object (fixing #653 (closed)) - Make RFC822 test directory structure match that of the engine's source files