Add support for interrupting transactions in the shell with Ctrl+C

Signed-off-by: Stefan Plantikow <stefan.plantikow@neotechnology.com>
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>
Properly close ExecutionResult in ExecutionResultSerializer as soon as processing is finished

This will free resources earlier for multi-step transactions.

Signed-off-by: Jakub Wieczorek <jakub.wieczorek@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: Jakub Wieczorek <jakub.wieczorek@neotechnology.com>
Changes