Small refactoring on clear_transaction_record_state

Make sure when we clean the `@_start_transaction_state` var we do it in
the same code-path.
Also this makes `clear_transaction_record_state`, more consistent with `restore_transaction_record_state`
Clear transaction state if callback raise rollback