vtgate v3: Improved input JSON file structure
vtgate v3: prep work for new router
vtgate v3: removed plan building from V2 API

We currently don't plan to test V3 with V2. So, there's no
need to build V3 plans for the V2 API.
vtgate v3: Simplified async logic in ScatterConn

Rollback and close used to happen asynchronously. This creates
confusion, makes the code less readable and less testable.
And it doesn't buy you much.
vtgate v3: new ScatterConn 'Multi' functions
vtgate v3: iterating on ScatterConn API
vtgate v3: hash index functionality
vtgate v3: no ShardKey special naming

Since each keyspace can have its own ShardKey, it's not a good
ShardKey as a special name because the index may also need to map
to a physical table, which will cause conflicts. Instead, and index
now has a Type field, which can be ShardKey or Lookup.
vtgate v3: end-to-end: SelectSingleShardKey

Got one plan working end to end. Ssome constructs are still
awkward and need polish, but it all works.
Merge pull request #138 from youtube/vtgate

Vtgate