Fire an event before the authentication starts

This pull request adds support for firing the AuthenticationStarted before redirecting the user to the provider authentication page.

The implementation uses a decorator, but this could be removed if velruse gains a base class for all the OAuth based providers.