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.
Changed format of vtgate error for easier parsing.
Merge pull request #141 from youtube/shruti_work

Changed format of vtgate error for easier parsing.
Removing flakiness in this test. The queryIndex variable was
being accessed concurrently.
Merge branch 'master' into replication