port authenticate-oauth to http-client

includes ifdef cleanup of separate pull request.

i did not bother porting `Web.Authenticate.OAuth.IO`. if there is really need, i can try to do that though.