Address review comments for RebalancePlan

RebalanceBatchPlan
- factored logic to decide which donor to steal from out of constructBatchPlan.
- huge header comment about other policies to consider

RebalanceController
- dropped comment about historic (arbitrary) sleep command

RebalancePlan
- added helper hacky method to "clone" cluster

RebalanceCluster
- TODO to add a .clone() method

StoreRoutingPlan
- cleaned up javadoc, TODOs, and method names

DonorBasedRebalancePusherSlave
- set sleep to 30 seconds. Made comments and logger messages consistent with code.

StorageEngine
- cleaned up javadoc for isPartitionAware()

RebalanceUtils
- fix validation method to use safe(r) comparison.

RebalanceBatchPlanTest
- fixed tests to (mostly) only test plan invariants. Prior test code focussed on exact plan details and so was hard-coded to the implementation, rather than the interface.