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
Fixed copy/paste bug in PCL
Better assert message in PTC
Merge pull request #2654 from jakub-/transaction-terminate

Add Transaction.terminate() to the Transaction 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 TransactionMetadataFiller
Add tests for TransactionPositionLocator
Add tests for VersionAwareLogEntryReader
Repackaging: add org.neo4j.kernel.impl.transaction.xaframework.log.entry
Add tests for ReaderLogVersionBridge

Small cleanups
Small clenaups
Cleanup