More robust message parsing

This replaces the usage of attributes from the System.Xml.Serialization namespace, as discussed in #3.
It was the adapter between XDocuments and email message types. Now that the library project is going to be removed I don't think it adds any value – AFAICT something similar to this will exist at the entry point.

`EmailData` will hypothetically change from `XDocument` to an `EmailData` record type but I haven't got there (yet). :/