(TK-103) Remove non-client based async APIs

This commit removes the non-client based APIs for doing async requests.
(TK-103) Remove AsyncClose class and references

This commit removes the `AsyncClose` class and references to it.  These
changes are in preparation for making the close call after the response
has been dereferenced - to be done in a later commit.  The `persistent`
flag/option was also removed from request handling as it will no longer
be used for determining whether or not the client should be closed
following a request.
(TK-103) Reworked sync single request APOIs to create and close client

For both the Clojure and Java single request APIs, the internal
implementation now creates an http client, makes a request on it, and
calls close on the client when done.  The close at the end avoids
resource leaks.

In support of this, the `JavaClient` class now requires the caller to
create an instance rather than just make a call to the static
`request` method on the `JavaClient` class.

The `coerceBodyType` method on the `JavaClient` class now closes the
body `InputStream` after coercing the stream content into a `String`.
This eliminates a possible resource leak and makes the Java-layer
coerce implementation consistent with the Clojure-layer coerce in
that the latter was already, via the use of the Clojure `slurp`
function, closing the stream content after coercing to `String`.
(TK-103) Restore client close tests

This commit restores some of the client close tests which had been
disabled temporarily per some of the refactoring for TK-108.
(TK-103) DRYed up Clojure client request

This commit removes some repeated code from the Clojure sync request
function and changes the surrounding try/catch/finally block to make use
of the Clojure `with-open` macro.
(TK-103) More DRYing up and restored some options documentation

This commit removes the `request-with-reified-client` function in
async.clj in lieu of having clients just call the `request-with-client`
function.

This commit also restores documentation for the client and request
options to the `create-client` and `request-with-client` functions,
respectively.  The documentation includes some updates for newer options
which are supported but not were not included in the code currently on
the master branch.
(TK-103) Restored query-params-test-async tests

This commit restores the `query-params-test-async` tests, using a client
to make the requests since the client-less single-request async APIs are
no longer available.
(TK-103) Restored redirect-test-async tests

This commit restores several of the `rediret-test-async` tests, using a
client to make the requests since the client-less single-request async
APIs are no longer available.
Merge pull request #26 from camlow325/maint/master/TK-103-http-client-close-on-request-complete

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