Added XML support

Much of XML is in place.  Need to test how close it can be serialized
then deserialized back to the original structure.