fixes Bug 984583 - added abandon transaction behavior

the Bugzilla crontabber job uses an Exception for control flow.  There is a complicated transaction that is started, but near the end, we can finally recognise that the transaction is not useful.  The original code just raised an exception and let the TransactionExecutor roll the transaction back.  However, the TransactionExecutor logs it as an error even though it was intentional.

This PR adds the ability for the TransactionExecutor to abandon a transaction if the exception was raised intentionally and has the attribute 'abandon_transaction'.  
It notifies the resource connection factory that we have lost confidence that the connection that we were using.  The underlying connection factory implementation (PG, HB, etc) can, at its discretion, remove/replace that connection from any connection pool that it might be holding.  If there is no pool, the connection is just likely dropped and given the opportunity for an orderly shut down. 

Once that has happened, the TransactionExecutor is free allow the exception to propagate out to the client to deal with it.