update JSON marshaling logic to pass messages to Google V2 first, then Google V1, then Gogo so that WKT fields (like timestamps) can be handled by the existing special-case logic in those libraries.
the prior logic was forwarding to Gogo first, then Google V1, then Google V2, which led to timestamppb.Timestamp fields being marshaled as a nested struct rather than an RFC-3339 string
move JSON tests from the root into the example sub-module
didn't want to introduce a .proto file and code generation steps into the root package when we already had all of that scaffolding in example
Changes:
timestamppb.Timestamp
fields being marshaled as a nested struct rather than an RFC-3339 stringexample
sub-moduleexample
Fixes #59