More robust message parsing

This replaces the usage of attributes from the System.Xml.Serialization namespace, as discussed in #3.
OK... I was thinking more about how the (redundant) library project works here, rather than the application as a whole.

The *XDocument.Parse* should be surrounded by a **try...with** expression, then.

-----

(Actually, another option is to move the *XDocument.Parse* inside the proposed Document module and expose a Partial Active Pattern from there.)