Add support for HTTPS & Unix sockets

Respect the DOCKER_HOST and DOCKER_CERT_PATH environment variables and
connect to Docker instances over HTTPS or via Unix sockets.
@rohansingh Would the dockerHost ever be null or empty? Seems like from dockerHost() it wouldn't be.

If the URI isn't set, does the code just fail somewhere else in a non-cryptic way?