Add a new method to ClusterConfig to add new partitions to existing topology.
Don't cache partition count in the cartographer, read it from the topology.
Modify addHosts() in ClusterConfig to only increase host count. Partitions
should be taken care of elsewhere. The partitions field in the topology is not
used post cluster startup.
Add new partition ID generation to the Cartographer.
Make LeaderAppointer only care about partition count at startup.

Remove unused imports from LeaderAppointer.
Use the cartographer to get partition count in PartitionCountStats for IV2.
Use the cartographer to iterate through all partitions in ClientInterface for
IV2.
Remove unused partition count from LoadProcedureSet.
Assign leaders for new partitions added after startup in the leader appointer.
Allow changing the partition count in EE.
Allow changing partition count in execution site.
Add an accessor to RealVoltDB to get the leader appointer.
Add a new sysproc for changing topology. Currently only takes an array of new
partition IDs.
Add Joiner interface which extends RejoinCoordinator.
Add new start action "join". Currently very simple, will be polished to support
different joins later.
Modify start up sequence to allow node joining the cluster with new partitions.
Move ownership of TaskLog from Site to JoinProducer.

Extracted a base class from RejoinProducer that could be used for JoinProducer
later.
Add JoinProducer which extends the JoinProducerBase to the initiator.
Rename startRejoin() in RejoinCoordinator to startJoin() and returns a boolean
to indicate success.
Refactored RealVoltDB's initialization code to initialize join coordinator and
generates correct topology to construct other components.