(TK-103) Rework client close and remove support for "single request" async APIs

This PR contains two major changes:

1) Reworked how close is called on a `CloseableHttpAsyncClient` after a synchronous "single request" -- a request without the caller having to manage a client instance -- has completed. This removes the temporary workaround done in TK-101 - #21 - to handle client closing.

2) Rather than rework the asynchronous "single request" API with a better "close" implementation, this PR removes the asynchronous "single request" API completely. It is believed that these API was not in use anyway in that async consumers would more likely have already been using the "with-client" API at the Clojure level.
I could put them in async.clj's `request-with-client` instead.  Not sure I want to repeat them throughout all of the other public request functions.

Maybe async.clj's `request-with-client` should be moved to "public" too since sync.clj calls into it even though I think of it as "private" for callers outside of these infrastructure namespaces?

I think we could use a lot better docs for external consumption.  Maybe I could add a separate JIRA ticket for us to do that?