Added message explaining backup has been archived.
Fix bugs in PersistenceWindowPool

- Make it resilient against very small store size and memory size
  configurations.
- Make `allocateNewWindow` give up if it cannot map a BrickElement reasonably
  quickly.
Refactored master and slave switch code out of HAMS, so that it is mainly deciding and coordinating
Fixed a critical bug where an instance could be shut down and then switch to slave. This mainly impacts automated tests and causes "flaky HA tests".
Added test for when a new master becomes available during a slave switch.
Depending on gremlin snapshot to get build rolling
Merge pull request #2278 from chrisvest/1.9-persistence-window-pool-of-love

Fix bugs in PersistenceWindowPool
and back to sanity, chicken and egg dependency problem "solved"
Merge pull request #2295 from rickardoberg/hams-refactoring

HighAvailabilityModeSwitcher refactoring and fixes
Fix a race in PersistenceWindowPool related code.

This closes a race window where a thread could mistakenly acquire a closed window from the PersistenceWindowPool.
When this happened, the bug would manifest itself as an "illegal position" exception from the getOffsettedBuffer call.
Merge pull request #2303 from chrisvest/1.9-mapped-buffer-race

Fix a race in PersistenceWindowPool related code.
Hopefully fix the Windows build.
Merge pull request #2307 from chrisvest/1.9-fix-windows-build

Hopefully fix the Windows build.
Fix compilation on Java6.
Fix a test that randomly failed by asking for negative IDs.
Use a StringLogger in BackupService instead of System.out.
Merge pull request #2238 from jakewins/1.9-more-backup

Added message explaining backup has been archived.
Fix a division by zero

The bug only manifest at particular store size and memory configurations.