Renaming TransactionLocker to TransactionContext

TransactionContext is now responsible for creating a single Transaction
(formerly Transaction.Current). The static Transaction.Apply and
Transaction.Run methods now are much more readable.