TransactionScope and Transaction Enhancements

1. Adds ```newTransactionScope``` to allow code to break out of an implicit transaction created by a previous ```transactionScope```.
2. Adds ```onCommit```, ```onRollback```, and ```onClose``` listeners to transaction.