Fix #136:  roll back transactions on exceptions.

The PR presumes that "rollback-on-exception" is the desired behavior.
By default the transaction is rolled back if there is an error.