(TK-97) Update dependencies to latest versions

Update dependencies (trapperkeeper, trapperkeeper-webserver-jetty9,
etc.) to the latest versions and fix tests accordingly.
(TK-97) DRY up client construction
(TK-97) Switch from .setSSLContext to .setSSLStrategy

Prior to this commit, we were using `HttpAsyncClientBuilder.setSSLContext`
to set up our HTTPS SSL configuration.  That method doesn't provide
a mechanism for specifying a list of acceptable protocols or ciphers.

This commit simply ports the code over to use `.setSSLStrategy`
instead, because it allows a larger number of configuration options.
(TK-97) Expose configuration settings for protocols/cipher suites

This commit adds configuration settings for the SSL protocols
and cipher suites, in both the java and clojure clients.  It
also adds a list of default protocols which will be used if
the protocols setting is not explicitly set.
(TK-101) Move closing of http clients to a separate thread

This commit moves each close call made on a `CloseableHttpAsyncClient`
from the thread on which the request callback is made over to a
different thread in order to avoid a deadlock.

Previously, the client close call was made in the context of thread from
which the callback was invoked.  The Apache HTTP async client library
makes these calls from one of its i/o reactor threads.  In the case of a
"failed" request, e.g., failure to make the client connection, this call
occurs in the context of the primary i/o reactor thread.  The client
close call does an indefinite join on the primary i/o reactor thread
and, therefore, this call causes a deadlock.  The client never closes
and all resources associated with it - threads, file descriptors, etc. -
remain open until the process is shutdown.

This commit introduces a new class, `AsyncClose`, which manages a small,
fixed size thread pool from which client close calls can be executed.
The `async` Clojure and `JavaClient` APIs were updated to use `AsyncClose`
whenever a client needs to be closed from a callback.
(TK-101) Re-throw IOException from AsyncClose/close call

This commit rethrows any `IOException` caught on a closeable close call
made from the `AsyncClose` class.
Merge pull request #20 from cprice404/feature/master/TK-97-configurable-ssl-protocols

(TK-97) configurable ssl protocols
Update CHANGELOG and version for 0.3.0 release
lein-release plugin: preparing 0.3.0 release
lein-release plugin: bumped version from 0.3.0 to 0.3.1-SNAPSHOT for next development cycle
(TK-97) Fix bug in tests on Oracle JDKs

The test code related to the configurable SSL protocols was
written using some ciphers that are available in OpenJDK, but
are not available by default in Oracle JDK.  This caused the
tests to fail on Oracle JDKs.

This commit changes the test to use some older ciphers that
are available in the Oracle JDK out of the box.
Merge pull request #22 from cprice404/bug/master/TK-97-bug-in-tests-on-oraclejdk

(TK-97) Fix bug in tests on Oracle JDKs
Merge pull request #21 from camlow325/bug/master/TK-101-clients-leaked-on-fail

(TK-101) Move closing of http clients to a separate thread
Update CHANGELOG for 0.3.1 release.
lein-release plugin: preparing 0.3.1 release
lein-release plugin: bumped version from 0.3.1 to 0.3.2-SNAPSHOT for next development cycle