Extract oauth clients

In these 3 commits, I move all http calls from Oauth1 providers into the Oauth1 grouping responsibilities. I then add an integration test on the google authentication flow before refactoring the OAuth2Provider to extract an OAuth2Client