after_commit doesn't fire if the transaction block contains a return statement

If the transaction block contains a return, the else block is never reached. This pull request contains two commits: one that adds a failing test for this scenario and another that fixes it. 

We understand that returning from within a transaction block is probably not considered a best practice, but it would be great if this gem didn't rely on clean codebases. We wish we didn't have to fix this :-)

Thanks! 
@hugocorbucci & @emirose