ENG-4539 First cut of snapshot indexing, EE tests pass
Merge remote-tracking branch 'origin/elastic' into ENG-4539
ENG-4539 Create elastic index via snapshot mechanism coded.
Merge remote-tracking branch 'origin/elastic' into ENG-4539
Merge pull request #555 from VoltDB/ENG-4539

Eng 4539
Merge branch 'master' into elastic

Resolved conflicts:
	src/ee/storage/ElasticScanner.cpp
	tests/ee/storage/CopyOnWriteTest.cpp
ENG-4893: Initialize the hashinator with existing partition count during join.

On elastic join, the new partitions do not contain any ranges at
first. Initialize the hashinators in Java and in EE with existing partitions
only.
ENG-4893: No need to update hashinator at the end of elastic stream snapshot.

Partitioned table data will be migrated later in a non-blocking fashion. The
stream snapshot only has to transfer the replicated table data and update the
partition counts stored on each site. As a consequence, there is no need to pass
the ranges of partitions around in the stream snapshot request.
ENG-4893: Update log messages in ElasticJoinProducer to be more accurate.
ENG-4893: Refactor SnapshotPredicates to include the table.

Include the table the predicates are associated with in SnapshotPredicates to
simplify the signature of SnasphotSiteProcessor.activateTableStreams().
ENG-4895 Add new test for index availability and did various merges.
ENG-4895 Fix CentOS compile issue.
ENG-4941 Throttle elastic index creation.
ENG-4895 Fix stream activation error with no tuples.
Merge commit 'c661b6e' into ENG-4941
Merge remote-tracking branch 'origin/ENG-4895' into ENG-4898
Merge remote-tracking branch 'origin/ENG-4941' into ENG-4898
ENG-4893: Bring back the dev null snapshot target for elastic index snapshot.
ENG-4893: Add a new type of snapshot for elastic join indexing.
ENG-4893: Make TheHashinator abstract methods public.

There are cases where temporary local hashinators need to be created. It's not
possible to use the local hashinator if these methods are protected.