Add OnTermSync for hooks that we should wait for before dying.

Previously, the lameduck period specified both the minimum and maximum
wait duration. We need a way for certain hooks to specify that they are
important enough to wait for even after lameduck expires. The lameduck
period effectively now specifies the minimum wait time, while the new
onterm_timeout specifies the maximum.
Upgrade shard rebuild to OnTermSync to give it more time.

Removing ourselves from the serving graph when going down gracefully is
important enough to extend lameduck beyond the minimum specified by the
-lameduck-period flag.
Merge pull request #139 from youtube/onterm

Add OnTermSync for hooks that we should wait for before dying.
Enable rowcache in Kubernetes example.

Without it, we can't do ApplySchemaShard -simple, because the replicas
will never notice the new schema and will fail to build query plans.
Add Kubernetes config for vtgate, and a sample vtgatev2 client.
Changed format of vtgate error for easier parsing.
Merge pull request #141 from youtube/shruti_work

Changed format of vtgate error for easier parsing.
Use vitess/base Docker image for client commands.

Instead of running as root with vitess/root. The user shouldn't need to
download any additional image since vitess/root has vitess/base as a
dependency.
Read topology from vtgate.

This is a temporary work-around until the VTGate V2 client is
topology-free.
Removing flakiness in this test. The queryIndex variable was
being accessed concurrently.
Merge branch 'master' into replication
Merge pull request #142 from youtube/replication

Replication
Merge pull request #140 from youtube/docker

Add Kubernetes config for vtgate, and a sample vtgatev2 client.
Merge pull request #143 from youtube/vtgate

Vtgate