Fix XMLName conflicts

The XML location name used for a given shape is not always consistent,
so we can't hard-code its value into a struct tag on XMLName. However,
we still need a way to contribute the XML namespace to elements where
the JSON schema specifies one. The solution is to rely on Go's order of
XMLName precedence.

By supplying a value to an un-tagged XMLName property, we can specify
the appropriate local name and namespace at call time just before
marshaling the request body. Since these values are logically grouped
with operations in the JSON schema, this seems a more appropriate place
to set them than via struct tags.

Resolves #35.