Implement XML input/output for AssetMetadata.

@cpennington @dmitchell 
Note that the tests use an XSD to validate the generated XML. The XSD is kept in the test directory for now - but a better place should be found in the future.
I was thinking the yaml/json blobs like we're using for fields could apply.
Actually, don't you also need to export `fields` or whatever I called the arbitrarily appended key value pairs?