spec: fixed after_rollback not being recorded on CarObserver

Both :after_commit and :after_rollback were being recorded as
:observed_after_commit, making it impossible to differentiate between
them.
spec: add tests for :after_rollback on observer

Test that :after_rollback is invoked as expected when a rollback occurs
via ActiveRecord::Rollback or via any kind of exception.

The latter case currently fails.
Fixed rollbacks for exceptions other than Rollback, RecordInvalid

ActiveRecord will rollback transactions for _any_ kind of exception
raised in a transaction block, not only these two.

Without this change, if an exception occurs (other than
ActiveRecord::Rollback or ActiveRecord::Record), test_after_commit will
do a commit and then propagate the exception, which doesn't make sense.

This was almost fixed already, see:
https://github.com/grosser/test_after_commit/pull/20#discussion_r9505914