Hooks now take a list of parameters.

Instead of a map. Map was overly complicated for not much.
And now we can pass the topology parameters to the hook
(will do that in another change).
Renaming functions to be clearer.
Merge branch 'master' into replication
Adding support for unreachable data center.

With a unit test that showed me whta still needed to be done.
ExecuteBatch end to end test
Merge branch 'master' into barnacle
Add make target to run unit tests with race detection.
improved vttablet error annotations
annotate balancer errors
pushed annnotation to getEndPoints
Adding a file-based fakezk-based topo for vtgate.

Will use it in various unit tests to fake a topology.
Topo integration with vtgate. Also added mechanism to use topo with zkocc.
Topo integration with vtgate. Also added mechanism to use topo with zkocc.
Improved zkocc_test to compare vtgate zk, zkocc implementation. Pruned vttopo everywhere.
Merge branch 'master' into barnacle
Merge branch 'master' of github.com:youtube/vitess
misc fixes

noOutput *string -> UnusedResponse
tabletmanager,py breaks up tuple return from vtgate launch
Receive transaction id through TransactionInfo struct: The reason
why this worked before is because bson wraps simple types as structs.
But we want to move away from such usage.
missed couple more string -> UnusedResponse
add logging for relevant errors
fix race detector errors