Add support for before_throttle callback

This PR adds support for a before-throttle callback in order to allow integration with notification and logging frameworks, e.g. ActiveSupport::Notifications, without relying on exceptions.