finish unit testing FedoraTransactions and debug expiration, refactor Transaction state to not rely on client code, Transaction#rollback and Transaction#commit now end internal sessions as appropriate, unit test Transaction