Bring back two part transactions for elastic rebalance
ENG-5751: Send involved partition IDs in FragmentTaskMessage for command
logging.
ENG-5751: Include the partition ID in the end-of-log message.
ENG-5751: Use the GlobalServiceElector to elect the RestoreAgent leader so that
it's colocated with the MPI.
ENG-5751: Let the command log reinitiator know if it's colocated with the MPI.
ENG-5751: New messages used for replaying multiparts.
Merge branch 'master' into origin-redo_twopart

Conflicts:
	src/frontend/org/voltdb/iv2/SpScheduler.java
Merge branch 'master' into origin-redo_twopart
Fix flaky TestJDBCQueries.

The class used to set up a database and populate the tables for all
tests. However, some tests do insert new tuples to the tables, and other tests
assert on the tuple count based on the initialized values. When junit runs the
tests in a different order, which can happen sometimes, tests fail.

I added two methods to populate and clear all tables before and after each test
so that they don't have to depend on each other.
ENG-5751: Pass HostMessenger to the constructor of CommandLogReinitiatorImpl.
ENG-5751: Use array instead of Set for involved partitions for CommandLog.
ENG-5751: Use immutable set for involved partitions in FragmentTaskMessage.
ENG-5751: Allow null invocation in MpReplayMessage.
Merge pull request #1141 from VoltDB/redo_twopart

Two-part