More locking and NotFoundException handling
Merge remote-tracking branch 'origin/master'
Support for interrupting transactions via the transactional REST endpoint

o Ensure ThreadToStmCtxBridge.getTopLevelTransactionBoundToThisThread() does not throw when interrupted [FIX]
o Rename assertInTransaction to assertInUninterruptedTransaction all over the place
o Changes TransactionRegistry: Now uses an ActiveTransaction marker per tx instead of a singleton
(needed to hold a reference to the tx such that we can interrupt it from a different thread)
o Adds number of transaction interrupts to TransactionMonitor

Signed-off-by: Andres Taylor <andres.taylor@neotechnology.com>
Refactored Cursor API
Reimplement IdGenerator rebuilding

The procedure for rebuilding the IdGenerators has been reimplemented to use the new PageCache API for accessing
the store files, instead of accessing the StoreChannels directly. We had to make this change, because the page
cache may contain changes that are not reflected in the store channel.
This commit also introduces some refactoring, where the procedure has been generalised for all stores, and
pulled up into the CommonAbstractStore class. This removes 3 other implementations in various stores.
Tests have been added to make sure that the behaviour did not otherwise change. One thing that has changed, is
how we count the number of ids that have been defragmented and salvaged. This is because we now operate in
whole-page increments, and so we now also count the last empty records of the last page in the file.
Merge pull request #2663 from jakub-/transaction-terminate

Support for interrupting transactions via the transactional REST endpoin...
Update the documentation and settings for PageCache

Many things have been removed because they are now obsolete, mostly since the new PageCache need less tuning.
Reduce probability of flaky test failures from ListPropertyKeysDocIT
Hopefully fix the flakiness of StandardPageCacheTest
Merge pull request #2673 from rickardoberg/cursorrefactoring

Refactored Cursor API
Add tests for TransactionRepresentationStoreApplier

Remove duplicated call to updateIdGenerators since it is called by NeoTransactionStoreApplier
 when in recovery
Add tests for NeoTransactionIndexApplier

Add equals and hashcode methods to simplify testing
Slightly changed the interdace of LazyIndexUpdates to simplify testing
Add tests for NeoTransactionStoreApplier

Code cleanups
Add tests for PhysicalTransactionAppender
Add tests for PhysicalTransactionCursor

Renamed PhysicalLogicalTransactionStore.getCursor to getCommittedTransactions
Add equals/hash code for simplify testing
RecoveryVisitor is created outside the NeoStoreXaDataSource and gets its dependency injected.

LogFileRecoverer calls close on the RecoveryIterator which takes care to set the last committed
 tx instead manually setting in the data source after start.

Add tests for RecoveryVisitor
Add tests for LogVersionLocator
Add tests for TransactionPositionLocator
Add tests for VersionAwareLogEntryReader
Repackaging: add org.neo4j.kernel.impl.transaction.xaframework.log.entry
Add tests for ReaderLogVersionBridge

Small cleanups