Updated types and structure. Replaced referenced types in XSD with inline elements instead. This is a breaking change.

The previous XSD structure had reusable types that made the XSD easy to
maintain. But this resulted in making the CS difficult to
serialize/deserialize with the DataContractSerializer.

This change results in some updated types and namespaces.