Addressed code review feedback on rebalance utility and cleaned up code

src/java/voldemort/client/rebalance/RebalanceCLI.java
- Changed pattern for boolean command line options to be cleaner
- Added more options to control when cross zone moves are checked
- Added more tests to confirm the specified sub-options for generate are mutually compatible
- Revised expansive secondary documentation of various options to cover all options

src/java/voldemort/client/rebalance/RebalanceClientConfig.java
- minor varaible rename

src/java/voldemort/cluster/Cluster.java
- add members and methods to track partitions & nodes by zone

src/java/voldemort/cluster/Node.java
- minor fix

src/java/voldemort/utils/RebalanceUtils.java
- refactored many of the methods I added to break them into smaller pieces
- by moving helper methods into Cluster.java, got rid of lots of redundant code
- cleaned up javadoc comments for the methods
- now prints out analysis for each try that improves balance
- validates num partitions for modified cluster same as original cluster

test/unit/voldemort/utils/RebalanceUtilsTest.java
- tests for some of the complicated/nuanced helper methods
Module level refactor : split bunch of stuff out of RebalanceUtils.java into new file RebalanceClusterUtils.java

All of the algorithms to generate a new cluster.xml that is (more) balanced has been moved into this new util class.
Module level refactor: split methods out of RebalanceUtils and RebalanceClusterUtils.java into new modules NodeUtils.java and ClusterUtils.java.

Any helper methods that operate on individual clusters or on individual (sets of) nodes are now in the appropriate util class.
Minor tweaks and refactoring

src/java/voldemort/utils/ClusterUtils.java
- added method to pretty print partition lists
- added methods to determine histogram of contiguous partition run lengths and pretty print
- moved verbose pretty printing of cluster details from ClusterRebalanceUtils to here

src/java/voldemort/utils/RebalanceClusterUtils.java
- randomized order in which zones are processed for shuffle algorithms
Update copyright notices.
Fixed minor issue with tests in AdminServiceBasicTest. They were not including an appropriate zone list when constructing a cluster.