Do not log duplicate key error in VTGate
Merge branch 'master' into liguo
remove no-op synchronisation in executeCallbacksLoop

There's a lot of ceremony there, but if you look hard enough, you'll see
that there really isn't much guaranteed by doing so.
Port fix for stdin support in mysqlbinlog from MariaDB to Google MySQL.
Fixing RebuildKeyspaceGraph to support empty cells.

The logic was failing when a SvrShard doesn't exist.
We need to instead use an empty SvrShard (based on the Shard)
with an empty TabletTypes list.

Since the Shard objects might have just been updated (and not
propagated to local copy of global topo server), put them in a cache
so we don't re-read them.
Run goimports.
Turn BinlogStreamer into an interface.
Add low-level MySQL command functions to libmysqlclient wrapper.
StopSlaveMinimum now actually stops the slave.

Instead of just waiting for a minimum position.
Adding extra headers so compiler has them.
Adding a check to ShardMultiRestore.
Raise a compile error for implicit declarations in CGO.
Fixing error message.
Merge branch 'master' of github.com:youtube/vitess
Add "go vet" as a presubmit and use goimports instead of gofmt.
Fix all govet issues in preparation for govet presubmit.
Add an integration test for VTGate V2
binlog_streamer: wait indefinitely on logfile rotation

Sometimes, it takes a while for MySQL to create the new binlog file.
So, it's better to wait indefinitely for it. Also, wait only if it's
actually a file not found error.
rowcache: invalidation stats label counts->tables
One extra test case.