allow setting connect and read timeouts

Add a Builder to DefaultDockerClient that allows the user to configure
connect and read timeouts.

Also fixes a bug where the InterruptibleURLConnectionClientHandler would
not correctly propagate ClientHandlerException, causing read and connect
timeout exceptions to not be propagated as DockerTimeoutException.