Resolvers can resolve service names
fix service inheritance

Fix the support for having a service inherit from another service
so it actually works.
Data structures for reading, storing and writing unknown fields.
Merge pull request #20 from foursquare/forwards_compatibility2

Data structures for reading, storing and writing unknown fields.
codegen string => newtype implicits
generateProxy part 1
missingAlternateObj hook
Make TReadableJSONProtocol more robust.

Now it can handle maps of maps.
Hook up the unknown fields mechanism to generated records.

Requires some minor tweaks to UnknownFields.

Also includes very comprehensive unit tests. These replace the old
tests which merely verified that we can skip unknown fields. Now
we verify that we preserve them.
Merge pull request #21 from foursquare/treadable_json_protocol_fixes

Make TReadableJSONProtocol more robust.
Merge pull request #22 from foursquare/unknown_fields_support

Hook up the unknown fields mechanism to generated records.
missingAlternateObj hook fixes
1.8.0 release
Test to expose a regression in handling enhanced types.

The enhanced_types annotation is somehow not being propagated
to the generated code. This breaks TBSONProtocol and TReadableJSONProtocol.

A future change will include a fix. For now it's better to have a broken test
in master than code that seems like it works but doesn't.
Merge pull request #23 from foursquare/enhanced_type_test

Test to expose a regression in handling enhanced types.
Fix non-string map key issues in BSON/JSON protos.

This change:
  1. Enforces that map keys are strings.
  2. Allows a "coerce" mode in TJSONProtocol where map keys are
     coerced to strings. This is used only in the implementation
     of toString() on records, which just JSON-serialized, and must
     work on all structs, even ones with non-string-key maps.
  3. Adds various tests around this.
Merge pull request #24 from foursquare/map_keys

Fix non-string map key issues in BSON/JSON protos.
Merge pull request #19 from tdyas/fix_service_inheritance

Fix service inheritance
Handle unknown fields correctly with TBSONObjectProtocol.

Even when reading from/writing to a BSON object, we still handle
unknown fields using TBSONProtocol, as they need to be serialized
to a blob.
Merge pull request #25 from foursquare/tbson_object_protocol_unknown_fields

Handle unknown fields correctly with TBSONObjectProtocol.