all: manage all outgoing requests in one place

I know, I know. Huge PR. I'm sorry :(

**This depends on #276.**

This gets rid of the connection module, and uses the abstracted [google-service-account](https://github.com/stephenplusplus/google-service-account). I know we talked about bringing back support for pem files, so when that time comes, I can just add it in the gsa lib.
Why is this scoped way out here? Wouldn't this conflict if many requests are made at the same time?