Support Unix sockets via Apache HTTP client

Use the Apache HTTP client, which gives us lower-level control of the HTTP
connection. Plug in a SocketFactory which lets the Apache client speak to
Unix sockets.

NOTE: On Linux, tests will now run against unix:///var/run/docker.sock by
default if no DOCKER_HOST is specified.
Well our API doesn't let you set timeout per-request, so I think just creating DefaultHttpClient in the constructor of InterruptibleApacheClientHandler instead of RequestTask would be enough.