VTGate V2 implementation and sandbox test improvement
Merge branch 'master' into liguo

Conflicts:
	go/vt/vtgate/proto/vtgate_proto.go
Update VTGate V2 with keyspaceid and keyrange queries
Merge branch 'master' into liguo, generate additional bson files

Conflicts:
	go/vt/key/key.go
	go/vt/vtgate/proto/vtgate_proto.go
	go/vt/vtgate/scatter_conn_test.go
	go/vt/vtgate/shard_conn_test.go
Simplify queryservice tests.
Fixes to the queryservice test.
Fixing bootstrap.sh to create the hook link.
Merge branch 'master' of github.com:youtube/vitess
EntityIdsQuery related change (WIP)
Merge branch 'master' into liguo
queryservice: categorize read-only errors as RETRY

When we get a read-only error, it means that the current
server is not the master anymore. Categorize such errors
as RETRY, which will make the clients re-resolve to the
new master.
Merge branch 'master' into monitoring
Merge branch 'master' into monitoring
Add url to flush logs to test environment module.
Make the vtocc queryservice test more explicit about its depeendencies.
Address comments
Merge branch 'master' into liguo
queryservice: lip service to positional args

First cut at supporting positional args. This allows
you to send queries like:
select * from t where id1 = ? and id2 = ?
The parser will treat this query as:
select * from t where id1 = :v1 and id2 = :v2
So, the bind variables will need to be like this:
{"id1": 1, "id2": 2}
Merge branch 'vtocc'
Fixing race conditions in zkconn.

A client might be getting a conn from metaconn, and then
use it for queries. It might get closed at the same time.
So it needs to be protected by a mutex.