Java Go Rpc client first commit

A synchronous Go RPC client in Java.
No support for authentication, streaming and deadlines yet.
Add integration tests to java gorpc client

Fixed issue reading responses when error occurs
Moved all constants to a single file
Added support for MAGIC_VAL in bson codec
Run integration test in verify phase
Renaming package name to com.youtube.vitess.gorpc
Java: add .gitignore at root folder
Better exception handling and log4j in GoRpc client

Have the library log, wrap and rethrow low level errors
Added log4j
Java VtGate client first commit

Supports ExecuteKeyspaceIds queries with transactions
Adding RpcStub interface

To support integrating with RPCs other than Go style
Changing unit tests to use RPCs instead of action nodes.

Code is about the same complexity, but RPCs are what we do
in prod, so this removes the duplicate code.
Merge branch 'master' into replication
Making shard comparison case insensitive in another place.
Move a flag definition to avoid a duplicate flag definition
in some tests.
Add streaming to Java GoRPC library

Integration tests for streaming
Move most of test set up to Util
Allow graceful shutdown of arith server in integration tests
Add Fields and refactor QueryResult parse
Streaming in VtGate client

Made Cursor an interface with two implementations
- CursorImpl for regular queries
- StreamCursor for streaming queries

Turned off log4j in tests
Fixing a couple corner cases for other environments.
Merge branch 'master' of github.com:youtube/vitess
Increasing vtctl command timeout, some slow environments out there.