Changes to support multiple types of encoding for the access token request, this is required to get an access token from google's oauth 2 api as it only accepts form encoded parameters.