ENG-19871: When the EE does not correctly rollback a DRed transaction and a new transaction is started, this condition will be trapped and a BreakReplication will be initiated and the contents of the last DR Buffer will be logged. However, because the buffer is in a partially written state, the end of the buffer is not logged preventing an analysis of what triggered the failure. This branch adds traps bufferunderflowexceptions and completes the logging process to provide more diagnostic information.
ENG-19871:
When the EE does not correctly rollback a DRed transaction and a new transaction is started, this condition will be trapped and a BreakReplication will be initiated and the contents of the last DR Buffer will be logged. However, because the buffer is in a partially written state, the end of the buffer is not logged preventing an analysis of what triggered the failure. This branch adds traps bufferunderflowexceptions and completes the logging process to provide more diagnostic information.

Also added a unit test that verifies that the staged insert that fails is included in the buffer sent to Java with the poison pill callback.

VoltDB/voltdb,VoltDB/voltdb,VoltDB/voltdb,VoltDB/voltdb,VoltDB/voltdb,VoltDB/voltdb,VoltDB/voltdb