BREAKING: HTTP client clean-up and API tweaks

I've made quite a few different breaking changes here. No need to merge any of this, again just looking to start a discussion and get your thoughts.

Biggest changes and motivation:
* Renamed the fns (now `init-client`, `http-get`, `http-post`) to avoid name clashes with clojure.core. This isn't necessary, but I think it is convenient to avoid a clash if possible.
* `http-get` and `http-post` now take an explicit client argument instead of using an internal atom. This allows defining and using multiple clients with different configs.
* Renamed some arguments for clarity: `keyify?` -> `keywordize-headers?`, `binary?` -> `binary-resp?`, `cb` -> `callback`, `body` -> `data`.
* `http-get` and `http-post` now take destructured args, and a mandatory url for more convenient calling.