'None' timeout breaks with Client.stop
Hi,

We are wotking on a script to automate some stuff using docker and docker-py in some point we execute some code inside docker, this command can take from a few minutes to a 5 or 6 hours.

I realized that I could do something like this:

``` python
container_name = 'container_name_or_id'
cli = Client(timeout=None)
output = cli.execute(container_name, 'ls')
```

And works as expected, but then the container have to be stopped and started (here I just put the specific code for a PoC):

``` python
from docker import Client

container_name = 'container_name_or_id'
cli = Client(timeout=None)

# Here goes a command that take a lot of time, not just a ls
output = cli.execute(container_name, 'ls')
cli.stop(container_name)
# Do some more stuff
cli.start(container_name)
```

But we get this:

```
Traceback (most recent call last):
  File "test_resume.py", line 48, in <module>
    cli.stop(container_name)
  File "/home/truiz/deployer/venv/lib/python2.7/site-packages/docker/client.py", line 923, in stop
    timeout=(timeout + self.timeout))
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
```

Is there any other way of setting an "infinite" timeout? or just no timeout for this long runnig scripts?

Regards

diff --git a/docker/client.py b/docker/client.py
index f63da501..8bcc419e 100644
--- a/docker/client.py
+++ b/docker/client.py
@@ -1101,7 +1101,7 @@ class Client(requests.Session):
         url = self._url("/containers/{0}/stop".format(container))
 
         res = self._post(url, params=params,
-                         timeout=(timeout + self.timeout))
+                         timeout=(timeout + (self.timeout or 0)))
         self._raise_for_status(res)
 
     @check_resource
diff --git a/tests/integration_test.py b/tests/integration_test.py
index c9ab1405..4b9869e2 100644
--- a/tests/integration_test.py
+++ b/tests/integration_test.py
@@ -1467,6 +1467,11 @@ class TestRegressions(BaseTestCase):
         result = self.client.containers(all=True, trunc=True)
         self.assertEqual(len(result[0]['Id']), 12)
 
+    def test_649(self):
+        self.client.timeout = None
+        ctnr = self.client.create_container('busybox', ['sleep', '2'])
+        self.client.start(ctnr)
+        self.client.stop(ctnr)
 
 if __name__ == '__main__':
     c = docker.Client(base_url=DEFAULT_BASE_URL)
['docker/client.py', 'tests/integration_test.py']