Adding vtgatev2_exception to vtdb_logger.
Adding vtdb_logger.vtclient_exception()
Also limiting the QPS to toposerv in case of error.

And making the code a bti more testable, gained 3% code coverage
in the directory.
Also get goimports for bsongen to work.
Allowing MultiRestore on more types.
More details on vtdb_logger.vtclient_exception.
Now defaulting -use_srv_shard_locks to true. Been working
in dev for a while now.
Moving blp_checkpoint table creation to the MultiRestore code.
Fix keyspace id format
Fix to list of cells to build serving graph in.

When re-building a Keyspace that is ServedFrom another
keyspace, we need to save the SrvKeyspace object in all the
cells from the ServedFrom keyspace as well.
Merge branch 'replication'
Simplifying RebuildShard call.
Fixing / adding messaging.
Implementing copy of snapshots to central storage.

This uses specialized hooks, with sample versions for tests.
Have to re-run bootstrap.sh to pick them up.
Avoid serializing to string in streamlog.

Some log consumers wish to receive structured messages. This is best
evidenced by the logz handlers parsing the message strings they receive.
Implement error case of downcasts in streamlog consumers.

This should never happen (famous last words).
Moving a few status functions to this source tree.

They allow the status page of vttablet to be better.
Also testing this code in vtctld_test, so we make sure the
templates work. And manual inspection works very well too.
Merge commit 'f7df4e7e97e66a6b3f3a9b2ea5645ec4d88e1c49' into replication
Merge branch 'replication'
Adding links to vtctld's tablet page.

Goes to the tablet's statusz and parent.