Switch to using Apache HTTP client

This is a first step to adding support for Unix sockets. The Apache client
gives us better control over the underlying HTTP connection.

Note that there is a slight change to DefaultDockerClient to deal with the
more fine-grained exceptions that the Apache client returns on connection
timeouts.
wip