More robust message parsing

This replaces the usage of attributes from the System.Xml.Serialization namespace, as discussed in #3.
What confuses me here is that `EmailData` is only an `XDocument`... What value does that add?