ProgressStream and LogReader now read entire input stream

When processing a json stream, Jersey will not release the connection until
the entire input stream is read. This is a problem for our ProgressHandler
classes because if they receive an error from docker, they throw an exception
and stop reading. This causes Jersey to never release the connection, so you
will exhaust the connection pool if you encounter enough errors.

We had been calling close on the input stream, but this doesn't release the
connection because the stream we get from Jersey is of type UnCloseableInputStream,
where close is a no-op. So we now read the entire object instead.
Add logging lib to classpath in test scope

This lets us take advantage of log messages while running tests.
Setting level to warning, so they won't be noisy by default.
Add docs for `DefaultDockerClient.Builder`

Fixes #93.
Merge pull request #90 from spotify/rculbertson/read-entire-stream

ProgressStream and LogReader now read entire input stream
Merge pull request #92 from spotify/rculbertson/test-logging

Add logging lib to classpath in test scope
Merge pull request #95 from spotify/rohan/readme

Add docs for `DefaultDockerClient.Builder`
Write tests to check leaked connections

* Write tests that check we aren't leaking connections
  from DockerClient's pull, build, and push methods.
* Add some test methods that output connection pool stats.