Tweaks to PartitionBalance and RebalancePlan

PartitionBalance
- calculate partition-stores per zone.
- This measure provides more context to evaluate the size of any plans to rebalance the cluster.

RebalancePlanCLI
- fix typo in verbose usage message
Initial hack at new rebalance scheduler.

Added RebalanceController.scheduler
- limits each node to participating in a single task as either a stealer or donor.
- randomizes the order in which tasks are attempted to be scheduled
- not a clean implementation, but enough to evaluate.
Tweak new rebalance scheduler

Randomized the order of rebalance tasks in each stealer's list. This
will avoid biasing the rebalance based on the order tasks were
generated.
Addressed review feedback on rebalance scheduler

RebalanceController
- Changed default parallelism to "infinite" since scheduler throttles parallelism
- Added TODOs for cleanup of scheduler
- Added javadoc to document scheduler and its methods
- Catch exceptions, log them, re-throw as VoldemmortRebalancingException

A ton of white space changes due to futzing with eclipse code formatter preferences. Sorry.
Refactor StoreRoutingPlan. Break Base from rest to expedite construction.
Adding BaseStoreRoutingPlan.
Making StoreRoutingPlan even lighter-weight