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
Merge pull request #15125 from arthurnn/small_refactoring_transaction_clear

Small refactoring on clear_transaction_record_state