ENG-4382: Extract initial legacy and json param validation
ENG-4382: Create SnapshotInitiationInfo, start threading it around, not yet used
ENG-4382: Start using SnapshotInitiationInfo at the lowest level
ENG-4382: Convert snapshot initiation param validation into parsing, return
SnapshotInitiationInfo object
ENG-4382: Move params parsing into a new SnapshotInitiationInfo constructor
ENG-4382: Make it easier to figure out if command logging is enabled.
ENG-4382: Queue a truncation snapshot via @SnapshotSave and get some indication of
whether the request was successfully made (not if the snapshot
completed).
- Comment up our new class.
Merge pull request #390 from VoltDB/eng4382pre

r=nshi
Merge pull request #391 from VoltDB/ENG-4402-clientdeadlock

ENG-4402: Fix deadlock with backpressure callback in Distributor.
For ENG-2927, Based on Ning's feedback, don't use crashLocalVoltDB, try and recover instead
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
ENG-4306 Expose CSV_NULL constants through VoltTable re: review feedback r=nshi,r=jhugg
Merge branch 'master' into ENG-4306-CSV_NULL
Fix test failure, tests expected snapshot daemon to throw, now it just logs
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
Merge branch 'master' into ENG-2927