add OrderedXmlObject whose constructor adds nodes in a specific order

This is very useful for having the mapper (your XmlObject subclass) control