Support RethinkDB JSON protocol

Work-in-progress to convert to the JSON protocol.

Incorporated a small JSON library from sinesignal/ottoman, SineSignal.Ottoman.Serialization, with minor modifications; mostly deleting a few things that weren't required.  This eliminates the need for us to add a large third-party dependency for a JSON library.

TODO:
 * Fix whatever issues are breaking unit tests.
 * FIXME on ability to read backtraces from the server.
 * FIXME around using the correct JSON encoding for text->bytes, currently using UTF-8 and need to verify that's correct.  Also remove encoding creation on every command run.
 * Converting Query objects into JSON, and JSON into Response objects, is currently intermingled in the Connection class.  I'm thinking I'd like to separate that into a "JSONProtocol" class, and possibly even restore the protobuf-based code into it's own class.  This would allow comparison between the code (eg. performance testing, bug tracking down), and maybe even runtime selection between the protocol (although I don't know why, it just seems practical).  The biggest goal would be code cleanup first.
 * Review all code changes and see if I've left anything else ugly lying around.

This PR will address issue #175.