<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
docker_container is not idempotent when specifying an ip address

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
docker_container

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.8.5
  config file = /home/pkueck/projects/cix.de/cix-ansible/ansible.cfg
  configured module search path = ['/home/xxx/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.7.4 (default, Jul  9 2019, 16:32:37) [GCC 9.1.1 20190503 (Red Hat 9.1.1-1)]
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
n/a
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
Fedora 30, CentOS 7

##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->

<!--- Paste example playbooks or commands between quotes below -->
```yaml
---
- hosts: myhost
  gather_facts: no
  tasks:
    - docker_network:
        name: "foonet"
        ipam_config:
          - subnet: 172.16.44.0/24
    - docker_container:
        name: "foo"
        state: present
        image: centos
        networks:
          - name: foonet
            ipv4_address: "172.16.44.11"
        networks_cli_compatible: yes
      loop: [1,2]
```

<!--- HINT: You can paste gist.github.com links for larger files -->

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
container created on first loop cycle, not touched on second one

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->

<!--- Paste verbatim command output between quotes -->
```paste below
PLAY [myhost] ***************

TASK [docker_network] *******
ok: [myhost]

TASK [docker_container] *****
--- before
+++ after
@@ -1,9 +1,10 @@
 {
-    "exists": false,
+    "exists": true,
     "network.foonet": {
         "aliases": null,
-        "ipv4_address": "",
-        "ipv6_address": "",
+        "id": "27e539c3b9af0160f02a0532ad081d1bd1ef3dd93e652095ec96d6dfd95bf2fb",
+        "ipv4_address": "172.16.44.11",
+        "ipv6_address": null,
         "links": null,
         "name": "foonet"
     }

changed: [myhost] => (item=1)
--- before
+++ after
@@ -1,10 +1,9 @@
 {
     "network.foonet": {
-        "aliases": [
-            "44cfded131d7"
-        ],
-        "ipv4_address": "",
-        "ipv6_address": "",
+        "aliases": null,
+        "id": "27e539c3b9af0160f02a0532ad081d1bd1ef3dd93e652095ec96d6dfd95bf2fb",
+        "ipv4_address": "172.16.44.11",
+        "ipv6_address": null,
         "links": null,
         "name": "foonet"
     }

changed: [myhost] => (item=2)
```

container_ports = parse_port_range(container_port, self.client)
            p_len = len(parts)
            if p_len == 1:
                port_binds = len(container_ports) * [(default_ip,)]
            elif p_len == 2:
                port_binds = [(default_ip, port) for port in parse_port_range(parts[0], self.client)]
            elif p_len == 3:
                
                ipaddr = parts[0]
                if not re.match(r'^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$', parts[0]) and not re.match(r'^\[[0-9a-fA-F:]+\]$', ipaddr):
                    self.fail(('Bind addresses for published ports must be IPv4 or IPv6 addresses, not hostnames. '
                               'Use the dig lookup to resolve hostnames. (Found hostname: {0})').format(ipaddr))
                if re.match(r'^\[[0-9a-fA-F:]+\]$', ipaddr):
                    ipaddr = ipaddr[1:-1]
                if parts[1]:
                    port_binds = [(ipaddr, port) for port in parse_port_range(parts[1], self.client)]
                else:
                    port_binds = len(container_ports) * [(ipaddr,)]
            for bind, container_port in zip(port_binds, container_ports):
                idx = '{0}/{1}'.format(container_port, protocol) if protocol else container_port
                if idx in binds:
                    old_bind = binds[idx]
                    if isinstance(old_bind, list):
                        old_bind.append(bind)
                    else:
                        binds[idx] = [old_bind, bind]
                else:
                    binds[idx] = bind
        return binds
    def _get_volume_binds(self, volumes):