Enhance cluster rebalancing operations

This branch adds a number of additional capabilities to the rebalancing plan generator:

* It splits the interface out into `expand`, `contract` and `fix_zoning` commands,
* Each of those can operate on the cluster as a whole and suggest up to 1000 operations by default,
* If it exists, a `rebalance/count_by_node` view on the `dbs` database will be used to incorporate the total number of shards hosted by a node into the balancing decisions
* By default, the `contract` command moves shards off of nodes in the "decom" zone and `expand` will ignore nodes placed in that zone,
* Computed moves are printed as clou invocations in the shell for easy copy/pasting.