Better logging around elections

logs full vote list, filtered votes and biased instances for
promotion/demotion.
Remove unnecessary test garbage files
Moved stability changes from master into 1.9 for SubProcess.

 NOTE: If you are forward-merging this change into 2.0, you can throw
       away all the changes in this commit, they are already present
       in the master branch.
Fix for incorrect exception handling on request reading error in HA.

 o Added test and implementation for better error handling on early request parsing failure.
 o Moved serialization of requests and deserialization of responses into Protocol class.
 o Added handling of BranchedDataException in HAMS.
Merge pull request #1850 from jakewins/subprocess-stability

Moved stability changes from master into 1.9 for SubProcess.
Merge pull request #1848 from jakewins/com-error-handling

Fix for incorrect exception handling on request reading error in HA.
Fix for race between kernel panic and mode switching

where a thread switching role to slave and
HaKernelPanicHandler thread were competing to harden the master
delegate handler. While all components were switching to their slave
versions a kernel panic event came in and made its switch, ending with
hardening the master delegate handler. All components would take that
as a sign about the master delegate being ready to use. When the
slave switching was done, that thread would set the master delegate to
the actual one, but all components would have already gotten a concrete
reference to the master such that the latter setDelegate call would
not affect them.

Fix is to only have setDelegate() (not harden()) dereference the Concrete
instance so that a setDelegate() after harden() will override that
delegate, making it visible to the peers of it.
Merge pull request #1852 from tinwelint/1.9-delegate-hardening

Fix for race between kernel panic and mode switching
Don't stop neo data source in case of failure

when switching to slave, because it will prevent future switch tries with
NPE in CommonAbstractStore.
Merge pull request #1853 from tinwelint/1.9-slave-switch-retry-thingie

Don't stop neo data source in case of failure
Removes LogBufferFactory and its default implementation

There was only one implementation of LogBufferFactory which
 was a straightforward call to DMLB constructor. This did
 not call for the need for a factory abstraction and since
 it was complicating upcoming work on monitoring it has now
 been removed.
Introduces byte count monitoring in DirectMappedLogBuffer

Uses the Monitors functionality to add bytes written counting
 facilities to DirectMappedLogBuffer. Achieved via introducing
 a LogBufferMonitor interface that is used by DMLB.
XaLogicalLog and TxLog require access to Monitors to
 create the proper monitor and pass it to their DMLB.
Renames LogBufferMonitor to ByteCounterMonitor

It is clear after some usage that log buffer monitoring is really
 a case of counting bytes, functionality that needs to be replicated in
 other places as well. It makes sense therefore to have LogBufferMonitor
 strictly count bytes, rename it to ByterCounterMonitor and reuse it
 where necessary.
Removes support for HA protocols from versions 1.5.3 and 1.7

Ha protocols from versions 1.5.3 and 1.7 are no longer supported for
 rolling upgrades. Hence they are no longer necessary to be present
 in the codebase.
Introduces usage of ByteCounterMonitor in XaLogicalLog operations

LogExtractor now updates a ByteCounterMonitor with bytes read while
 extracting transaction entries from a log
XaLogicalLog updates a ByterCounterMonitor when deserializing
 prepared transactions from disk for sending over the network
XaLogicalLog now updates a ByteCounterMonitor when deserializing
 a transaction stream over the network
Introduces monitoring in network HA operations

BlockLogBuffer now updates a ByterCounterMonitor with the bytes it
 writes to the underlying buffer. This way all operations that
 serialize transactions to the network can be monitored.
Master and Client instances now make use of that BlockLogBuffer
 for streaming results and transactions.
Introduces a RequestMonitor which logs HA requests. It supports
 request context via a hashmap which can be set to contain various
 information about the request logged.
Client and Server now update a RequestMonitor with requests sent
 and received, respectively.