Making TransactionContext a static class

Instead of having to create an instance of TransactionContext,, the Run
method does all the work. This is pretty much the original
Transaction.Run method, just moved into a separate class.