<!--- 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)
```

rather than stopping it. Use keep_volumes to retain volumes associated with the removed container.'
      - 'I(present) - Asserts the existence of a container matching the name and any provided configuration parameters. If no
        container matches the name, a container will be created. If a container matches the name but the provided configuration
        does not match, the container will be updated, if it can be. If it cannot be updated, it will be removed and re-created
        with the requested config. Image version will be taken into account when comparing configuration. To ignore image
        version use the ignore_image option. Use the recreate option to force the re-creation of the matching container. Use
        force_kill to kill the container rather than stopping it. Use keep_volumes to retain volumes associated with a removed
        container.'
      - 'I(started) - Asserts there is a running container matching the name and any provided configuration. If no container
        matches the name, a container will be created and started. If a container matching the name is found but the
        configuration does not match, the container will be updated, if it can be. If it cannot be updated, it will be removed
        and a new container will be created with the requested configuration and started. Image version will be taken into
        account when comparing configuration. To ignore image version use the ignore_image option. Use recreate to always
        re-create a matching container, even if it is running. Use restart to force a matching container to be stopped and
        restarted. Use force_kill to kill a container rather than stopping it. Use keep_volumes to retain volumes associated
        with a removed container.'
      - 'I(stopped) - Asserts that the container is first I(present), and then if the container is running moves it to a stopped
        state. Use force_kill to kill a container rather than stopping it.'
    type: str
    default: started
    choices:
      - absent
      - present
      - stopped
      - started
  stop_signal:
    description:
      - Override default signal used to stop the container.
    type: str
  stop_timeout: