Rollback transaction in case of uncaught exceptions during job

If there is an unhandled exception during a job, rollback the
transaction to be safe. Otherwise its likely that the
transaction will be commited when next job is run, as $dbw->begin()
implicitly commits any open pending transactions. This can result
in database referential integrity issues.

Change-Id: I5807e64440ff6c6651fbbb4924645d05d843b98e
Merge "Rollback transaction in case of uncaught exceptions during job"