ENG-4290 First draft of untested elastic EE multi-channel snapshot support.
ENG-4290 Snapshot working with new EE multi-buffer logic.
Merge remote-tracking branch 'origin/master' into ENG-4290
ENG-4290 Fixed COW loop and eecheck.
Merge remote-tracking branch 'origin/master' into ENG-4290
ENG-4290 Fix Ubuntu 12.04 build and pro build.
ENG-4290 Deleted inadvertantly added lcbak files.
ENG-4290 Refactor multi-COW to support pluggable predicate/hash processors.
ENG-4290 Fix missing virtual destructors.
ENG-4290 Fix another Ubuntu 12.04 compilation error.
For ENG-4396, refactor TheHashinator to support multiple hashing approaches
Convert all C++ exceptions catches to const references
Bring in MurmurHash3 in Java from Apache Cassandra, and in C++
For ENG-4396, bring in missing hash files
For ENG-4394, ENG-4397, ENG-4398, add test to make sure murmur hash matches in Java (it didn't initially!)

The murmur hash implementation from cassandra was missing a conversion from unsigned by to signed int.
Missed some comments still in the buffer
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.
Merge branch 'master' into ENG-4396