Throttles debug logging for one of two problematic debug log statements.
Puts lock releasing in finally blocks
Throttles cluster transition logging.
Merge pull request #2053 from jakewins/1.9-transitionthrottle

Throttles cluster transition logging.
Fix a bug where store migration forgets about legacy indexes.

IndexManager now also respects the availability guard (by virtue of transaction begin) when creating an index.
Replaces full backup and HA copy store with a common implementation.

 o Solves an issue where COPY_STORE and FULL_BACKUP implemented their own
   mechanism for recovery, rather than allowing data sources to run regular
   recovery. This caused problems as the two mechanisms risk diverging.
 o Adds a LogWriter API to allow external tools to write arbitraty logs for
   arbitrary data sources.
 o Refactors a workaround in backup to ensure log files exist into its own
   class.
Only migrate legacy index.db store files if they exist.
Merge pull request #2052 from jakewins/2.0-logthrottle

Throttles debug logging for one of two problematic debug log statements.
Merge pull request #2068 from tinwelint/2.0-release-locks-fin

Puts lock releasing in finally blocks
Merge pull request #2088 from chrisvest/legacy-index-migration

Fix a bug where store migration forgets about legacy indexes.
Returns a copy of the suspicions set

out from the HeartbeatContext so that putting that set in a message that
gets processed and serialized later on won't risk concurrent modification
issues with other incoming message handling modifying that set.
Merge pull request #2039 from jakewins/2.0-better-backup

Replaces full backup and HA copy store with a common implementation.
Now closes the file channel after the test
Renamed LogWriter to LogBufferFactory, added Javadoc
Clarify the error message for when releasing locks claim prior to a master-switch.

Also dramatically reduce the output in the log, when the failed transaction is big and has taken thousands of locks, for instance.
Fixed test breaking on winblows.
Merge pull request #2094 from chrisvest/2.0-explain-master-switch-lock-failures-better

Clarify the error message for when releasing locks claim prior to a master-switch.
Fix issue with cluster bricking if specific message lost when master leaves.

 o When a master leaves, if the leave learned message did not reach the machine with the
   lowest id, the other instances would wait for that instance to start an election
   indefinitely. The instance with the lowest id would realize it was out of date, but
   try and contact the (now dead) master to catch up, and would not retry when that failed.

 o This implementation fixes this by preferring instances more likely to be live and to have
   the paxos instance id we are interested in (see CommonContextStateTest and LearnerStateTest).
 o It also introduces proper retries if the catchup fails.
Aligning with TeamCity
Fixed test and doc description for WHERE NOT