Fix for Google OAuth2 implementation.

Added support for passing additional state on the callback url e.g. a
return url. Modified the OpenAuthSecurityManager to delegate
responsibility to the IAuthenticationClients for passing the provider
name and session id on either the redirect url or login url (OAuth2
specifically has a state parameter for passing additional session info
on the login url, passing additional information on the callback url
isn't supported by googles implementation of OAuth2). Removed redundant
provider name and session id passed on the callback in
VerifyAuthentication.