Disable chunked encoding for container start

Don't send requests to start a container to Docker using chunked encoding.

This is to workaround a bug present in Docker 1.2.0, wherein the HostConfig
is completely ignored if sent with chunked encoding.

To enable testing this, we add ContainerInfo.hostConfig(), which returns
the HostConfig we get from inspecting the container.
Add SSL/TLS support

The DockerCertificates class can now be used to build an SSL context for
communicating with Docker over HTTPS with client/server authentication.

Note that we ignore hostnames when verifying SSL certificates. Instead,
we just make sure that the certificate is from the correct CA. Hostname
verification is pointless here since everyone is just using self-signed
certs anyway.

The way we test this stuff is a bit interesting too: we start a container
and run an HTTPS Docker instance inside the container, and see if we can
connect to that with the appropriate certificates.
README: Document Unix & TLS support/usage
Switch to CircleCI

* Add a CircleCI configuration file.
* Fix up some tests to work properly in their environment.

The primary motivator for this is that we cannot run any sizeable images in
the UML instance we have to use to run Docker in TravisCI. The test for the
new SSL functionality doesn't work with those restrictions.