[rails3] Move commit exception handling to a method so we can override:

it looks like these methods all get included into the AbstractAdapter,
and then in github/github we have our own Adapter as an internal gem.

So this should be easy enough to override in our vendor'ed adapter.

This will allow us to still grab errors that happen in `after_commit` which would normally be swallowed in Rails 3.0 (and beyond).

/cc @github/rails3 @charliesome