Added support for metadata to be associated with an XmlElement. Added immutable diagnostic locator, attribute order and namespace prefix order as metadata