TransactionRecorder tests

A mockable trait, TransactionLog, has been extracted from FileTransactionLog to facilitate tests of TransactionRecorder.