Push(stream=True) does not work anymore.
```
$ cat test.py 
import docker

c = docker.Client()
for line in c.push("test_image", stream=True):
    print line
$ sudo venv/bin/python test.py 
Traceback (most recent call last):
  File "test.py", line 4, in <module>
    for line in c.push("test_image", stream=True):
  File "/home/{username}/docker-py/docker/client.py", line 230, in _stream_helper
    size = int(socket.readline(), 16)
IOError: [Errno 11] Resource temporarily unavailable
```

I suspect #117 or #123 broke this. Seems like it's a blocking vs nonblocking socket issue.

diff --git a/docker/client.py b/docker/client.py
index 8c13ea2a..5ccf9988 100644
--- a/docker/client.py
+++ b/docker/client.py
@@ -227,7 +227,9 @@ class Client(requests.Session):
 
     def _stream_helper(self, response):
         """Generator for data coming from a chunked-encoded HTTP response."""
-        socket = self._stream_result_socket(response).makefile()
+        socket_fp = self._stream_result_socket(response)
+        socket_fp.setblocking(1)
+        socket = socket_fp.makefile()
         while True:
             size = int(socket.readline(), 16)
             if size <= 0:
['docker/client.py']