Consume from chunked streams without data loss

Data already in local python buffers was lost when stream socket
fileobject was re-created. We now use http.client to handle the chunk
transfer encoding, and we read only the data from each chunk.

This adds a test harness for stream responses which tries to trigger the
lost-buffer behaviour by responding to the HTTP request in full, as
early as possible.

NB: Python's http.client will close the socket fileobj early if there is
no content length or chunked transfer encoding header. If this happens,
requests/urllib3 will reopen it, but we lose some data which was stored
in buffers.
Devices should be separated by colon separated string

Totally bad test :( (written by me). The documentation and
code should match now. Many thanks to pranavs18 for spotting
the error and proposing the fix.
Run Travis tests on Docker

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
Merge pull request #430 from bfirsh/travis-docker

Run Travis tests on Docker
Merge pull request #429 from dims/master

Devices should be separated by colon separated string
* create_container now supports a host_config param
* Deprecation warnings added in Client.start
Added create_host_config helper in docker.utils
Updated mock API version
Updated unit tests
* Warnings will now raise exceptions in unit tests
* Updated several tests to use host_config
Prevent start_config from overriding host_config in create if no param is specified
Fixed VolumesFrom bug
Updated integration tests to use new host_config param
assertEquals -> assertEqual
Fixed start_container tests
Un-deprecated hostconfig in start
Re-added start with hostconfig tests
Re-added integration tests with hostconfig in start
Updated documentation with HostConfig information
Merge pull request #428 from docker/host_config

Support for host config
Merge branch 'master' of https://github.com/leth/docker-py into leth-master

Conflicts:
	tests/test.py