KUDU-3011 p7: add tool to quiesce server

Adds the following commands:
$ kudu tserver quiesce start <tserver_addr>
  - sets the server to start quiescing
  - optionally, if --error_if_not_fully_quiesced is true, the server
    will respond with the number of leaders and active scanners, and if
    either are non-zero, the tool will return an error
  - users can orchestrate this to wait for a fully quiesced server. An
    example of this is shown in RollingRestartITest.
$ kudu tserver quiesce stop <tserver_addr>
  - sets the server to not be quiescing

Tests:
- Added some tests to exercise the quiescing tool in the context of a
  rolling restart alongside the maintenance mode tooling.
- Also added some basic testing for the quiescing tooling alone.

Change-Id: I89657808cc2b0afc4e1b37ce75937ab12e098d9c
Reviewed-on: http://gerrit.cloudera.org:8080/15091
Tested-by: Kudu Jenkins
Reviewed-by: Adar Dembo <adar@cloudera.com>
Reviewed-by: Alexey Serbin <aserbin@cloudera.com>
12 files changed