Run post_handler in a transaction and rollback if there were errors.

This is a bandaid to get things running in a transaction since currently
they are not. Ideally we would run more of the view in a transaction.
Make all dns api actions run in transactions
Make tests run in a TransactionTestCase