Prevents transaction push failures to set the transaction manager in bad state

By introducing a new specific exception class that such code can throw,
and which will be caught and handled specifically in TxManager. Such a
failure will still throw exception out to the user, but will not set the
transaction in not OK state (which would require a restart/recovery to come back).
Made legacy indexes wait for availability check.

- Add availability wait in hagdb.index()
- Bump default database availability timeout to 120s, to account
  for time to copy store.
Logs slave transaction pushing failures at most every 5 seconds

or if different types of exceptions gets thrown. Introduces a little
utility CappedOperation which abstracts those conditions.
Updates changelogs for 1.9.7
Calls doAfterCompletion in TxManager#commit/rollback

since vital functions happen there, for example lock releasing. Previously
there were a scenario where a transaction started and ran into a "tm not OK"
exception on commit, where the after completions wouldn't be called.
This might happen if the tm not OK came from a kernel panic and a handler
brought the db back on its feet again.
Deploy mvn sites to the new server.
Kernel health is set to OK after recovery
Correct winner logging
Merge pull request #2234 from tinwelint/1.9-after-completion-fin

Calls doAfterCompletion in TxManager#commit/rollback
Merge pull request #2225 from tinwelint/1.9-capped-operation

Logs slave transaction pushing failures at most every 5 seconds
Merge pull request #2223 from tinwelint/1.9-go-easy-on-txpush-failure

Prevents transaction push failures to set the transaction manager in bad state
Merge pull request #2206 from jakewins/1.9-availabilitycheck

Made legacy indexes wait for availability check.
Switches to master/slave role in separate and single thread

Previously switching to master happened in the state machine event thread
which introduced problems if that for some reason took a long time since
no other events could be processed and eventually this instance to become
master would be suspect of suspicions from the other instance. This would
add instabilities during master switches and prolong some switches as
well.

Now the switching happens in a separate, yet single, thread that is shared
by both the slave and master switching and so they cannot happen
concurrently either.