Reinstates a batching page cache for batch import

Basically it's the "page cache" version of
https://github.com/neo4j/neo4j/blob/2.1.2/community/kernel/src/main/java/org/neo4j/unsafe/impl/batchimport/store/BatchFriendlyWindowPoolFactory.java

such that there's only one page per store in memory all the time and it
moves along with the batch importer "cursor", no other store file memory required.
Merge pull request #2640 from tinwelint/2.2-batch-page-cache

Reinstates a batching page cache for batch import
Remove incrementVersion() from LogVersionRepository since it is redundant
Changed Jetty thread calculator to take into account selector and acceptor threads
will be registered both for http and https.
Removed sysout.
Fixed string writing and reading in IoPrimitiveUtils
Removed unused methods in IoPrimitiveUtils
Added sorting of updates
Merge pull request #2655 from johan-neo/master

Changed Jetty thread calculator to take into account selector and accept...
Merge pull request #2650 from davidegrohmann/log-version-cleanup

Remove incrementVersion() from LogVersionRepository
Removes unused RecoveryLogDeserializer
Clarifies TODO comment in CommittedTransactionRepresentation
Resolves TODO in LogEntry by adding the extra header length in the toString() of Start
LogVersionRepository.incrementAndGetVersion refinements

LogVersionReposiotry.incrementAndGetVersion now throws IOException
ReadOnlyLogVersionRepository.incrementAndGetVersion will fail on
 the second call if it happens.
Merge pull request #2657 from digitalstain/master

Bunch of small refinements in kernel
Add Transaction.terminate() to the Transaction API

This allows the user to terminate a transaction, which is a more
forceful mode of failure that not only marks the transaction as failed
(i.e. such that it will be rolled back) but also causes any subsequent
kernel operations contained within that transaction to throw
an exception.

This functionality will be used as a user-facing query termination
facility.

Signed-off-by: Stefan Plantikow <stefan.plantikow@neotechnology.com>
Add support for interrupting transactions in the shell with Ctrl+C

Signed-off-by: Stefan Plantikow <stefan.plantikow@neotechnology.com>
Adding tutorial for interrupting transactions to advanced section of manual

Use FileUtils.deleteRecursively() instead of copy-and-pasting similar code in all tutorials

Signed-off-by: Andres Taylor <andres.taylor@neotechnology.com>
Address review comments
Support for interrupting transactions via the transactional REST endpoint

o Interrupt transaction on disconnect for single query transaction in 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
o Add X-Transaction-Interrupt header to all requests that create a new transaction

Signed-off-by: Jakub Wieczorek <jakub.wieczorek@neotechnology.com>