Fix issues with deserializing mappings when retrieving mappings from the server.

We need to make sure that we can deserialize the interfaces on the
RootObjectMapping, which requires specifying ResolveAsTypeConverter
on all the appropriate interfaces. I added a test as well, though I'm
not sure it's in the right place, and I added a Deserialize function
on TestElasticClient to make it easier to roundtrip the serialization.
Merge pull request #829 from johndaniels/fix_root_serialization

Fix issues with deserializing mappings