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.
`sf` and `sfs` could be made final