#37 - Port the Google auth middleware from Katana.

I've removed the deprecated OpenId middleware and renamed all the GoogleOAuth2* classes back to Google*.

The sample has been expanded to work with multiple providers.

@loudej @Eilon 
IMHO, you should add a comment to encourage the implementers to derive from the `*AuthenticationNotifications` base class if you want to be able to add new hooks in `I*AuthenticationNotifications` without causing breaking changes in the future.