Support for around_audit callback

In some scenarios, it might be useful for you to be able to have access to an immediately-created audit for a specific model. Ideally, you would pass your audit to the `after_audit` callback. However, the only way in which `ActiveSupport::Callbacks` supports access to the result of an executed block is via use of the `around` callback, which allows you to assign the result of the `yield` operation to retrieve the result of your action.

This changeset adds an `around_audit` callback to enable this scenario.