Only run _rollback callbacks if top-level transaction

*_commit callbacks are triggered only when it is closing a top-level transaction, we should try to preserve the same behaviour on *_rollback callbacks.

thoughts? @jeremy @rafaelfranca @tenderlove