Adding several things to partitioning logic in Client:

- Added loadData and saveData so the partitioning schemes are stored
  across Client restarts

- Added Hash, RoundRobin partition types, both are tested and working on
  the wings cluster

- Added distribution information so the user can see what the
  distribution of data storage is when they do an insert for partition
  schemes where that makes sense (hash and random for now)

CAVEATS:
- For some reason the distribution data isn't getting serialized and
  saved, so on a restart you won't know what the distribution of data
  is, but it is tested to still work properly.