ENG-4524b Restore multi-COW changes to elastic.
ENG-4524b Add diagnostics from ENG-4524.
Merge remote-tracking branch 'origin/elastic' into ENG-4524b
ENG-4524b Fix and improve multi-COW diagnostics
ENG-4524: Fix missing table block on snapshot.

If the very last tuple in a table returned by the CopyOnWriteIterator happens to
fill up the output buffer, the table block that contains that tuple will not be
returned back to the table. This causes data to be missing. Doing a last call to
CopyOnWriteIterator::next() makes sure that the last table block is returned
before the CopyOnWriteContext is torn down.
ENG-4524 Restore COW handling of -1 sentinel value for tuple counter.
ENG-4524 Add unit test for COW context yielding boundary condition.
ENG-4524(b) Fix new unit test.
Merge pull request #459 from VoltDB/ENG-4524b

ENG-4524(b) Recreate the multi-COW changes, fix bug, and add unit test