Can't Create/Update an replicated service with replicas = 0, bug finded
I try to update a service with the following code:
```
 service.update(
            name=service.name,
            mode=docker.types.ServiceMode('replicated', replicas=0),
            networks=networks_list,
        )
```
First, I want to update the replicas only but I have to put name and network or the api think I want to change them (?) then send me an error.
Second, the ServiceMode object created here don't work and looks like this :  `{'replicated': {}}`
The reason for this is https://github.com/docker/docker-py/blob/master/docker/types/services.py#L410 where the if should be an if exist.
I would love to do a pull request but i'm a newbie and I'm already lost with my first one : #1568 
Thx for everything
diff --git a/docker/types/services.py b/docker/types/services.py
index 9291c9bd..e7787ec8 100644
--- a/docker/types/services.py
+++ b/docker/types/services.py
@@ -407,7 +407,7 @@ class ServiceMode(dict):
                 'replicas can only be used for replicated mode'
             )
         self[mode] = {}
-        if replicas:
+        if replicas is not None:
             self[mode]['Replicas'] = replicas
 
     @property
diff --git a/tests/unit/dockertypes_test.py b/tests/unit/dockertypes_test.py
index cb1d90ca..160fabdd 100644
--- a/tests/unit/dockertypes_test.py
+++ b/tests/unit/dockertypes_test.py
@@ -305,6 +305,12 @@ class ServiceModeTest(unittest.TestCase):
         assert mode.mode == 'replicated'
         assert mode.replicas == 21
 
+    def test_replicated_replicas_0(self):
+        mode = ServiceMode('replicated', 0)
+        assert mode == {'replicated': {'Replicas': 0}}
+        assert mode.mode == 'replicated'
+        assert mode.replicas == 0
+
     def test_invalid_mode(self):
         with pytest.raises(InvalidArgument):
             ServiceMode('foobar')
['tests/unit/dockertypes_test.py', 'docker/types/services.py']