Cherry Picking 0d1a321a0f743dbd20bfa25b795f7fb67189488d
ENG-4213: Hofix for NPE
If/else logic was wrong.
ENG-4213: Hofix for hotfix for NPE in our client.
ENG-4213: Hopefully fixes the "I can't drain" issue.
Proc and Topo invocations didn't have unique handles per procedure which meant they might corrupt the callback tracking map.
ENG-4213: Make sure proc call handles are unique with an assertion.
Per-connection that is.
ENG-4275: Fix compile problem.
Merge pull request #358 from VoltDB/release-2.8.4.2-huggmerge

ENG-4275: Merge 3.0 client fixes into 2.8.4.2 branch.