Eliminating contextmanager based transaction-handling

To close #8277
I was thinking, would `run_transaction` maybe be more descriptive name?