Add ExecuteRequest and remove Open hook

Goal: Isolate Http usage so that Mac vs. Windows branching is more
straightforward.

- Add `ExecuteRequest` that combines `Execute`, `ExecuteAsync`, and
`SetupHttp` and adds branching for Mac vs. Windows implmentation
- Add Username and Password to RestClient and remove
HttpBasicAuthenticator and Open hook for IAuthenticators