(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.
`extractRequestOptions` and `extractClientOptions` were just moved over verbatim from `JavaClient` since the conversion from `SimpleRequestOptions` to `RequestOptions` vs. `ClientOptions` is now being done here instead of in `JavaClient`.