Add Transaction.interrupt() to the Transaction API

Our first contribution to the kernel \o/.

This allows the user to interrupt 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>
We measured this and didn't see any impact. Are our measurements sufficient for that conclusion?

https://gist.github.com/boggle/32c42a1cb2b6c8c79913
https://trello.com/c/60Aw3d7t/375-measure-performance-impact-of-interrupt-flag