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.
@rculbertson Good point. I'm going to punt on this for now since each `ClientRequest` can have different connection and read timeouts, which have to be set on the HTTP client. So there'd have to be a lookup table of timeouts -> existent HTTP clients or something. Just going to avoid the issue for now.