Require passing tables to the SnapshotRequestConfig constructor.

It used to treat empty table list as all tables, which resulted in some
confusion when there is no replicated tables in the cluster. Require passing the
list of tables to the constructor explicitly.
ENG-5271: Handle elastic join without any replicated tables in the cluster.
Pass catalog tables to rejoin coordinator after the construction.

At the time of constructing the rejoin coordinator, the real catalog is not
loaded yet. The dummy catalog doesn't have any tables.
Merge pull request #848 from VoltDB/balance_undo

Fixes related to elatic stream snapshot with no replicated tables

r=aweisberg