##### SUMMARY
docker_image module is missing etc_hosts parameter even if this is documented and accepted by docker.build() as  of https://docker-py.readthedocs.io/en/stable/images.html

The same argument is accepted by docker_run but the lack of support here prevents us from building images when extra_hosts is needed.

I mention that the only reason why I propose using `etc_hosts` is in order to keep it in sync with already existing implementation from `docker_container` module which accepts `etc_hosts` which is translated to `extra_hosts` on docker-python-api.

I would personally prefer to use the same names as docker-api but this would require changing docker_container too.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
docker_image

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible-devel
```

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

```

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


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

<!--- Paste example playbooks or commands between quotes below -->
```yaml

```

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

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->


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

<!--- Paste verbatim command output between quotes -->
```paste below

```

- Docker expects the value to be a string. For convenience any non-string values will be converted to strings.
          - Requires Docker API >= 1.21.
        type: dict
      container_limits:
        description:
          - A dictionary of limits applied to each container created by the build process.
        type: dict
        suboptions:
          memory:
            description:
              - Set memory limit for build.
            type: int
          memswap:
            description:
              - Total memory (memory + swap), -1 to disable swap.
            type: int
          cpushares:
            description:
              - CPU shares (relative weight).
            type: int
          cpusetcpus:
            description:
              - CPUs in which to allow execution, e.g., "0-3", "0,1".
            type: str
      use_config_proxy:
        description:
          - If set to `yes` and a proxy configuration is specified in the docker client configuration
            (by default C($HOME/.docker/config.json)), the corresponding environment variables will
            be set in the container being built.
          - Needs Docker SDK for Python >= 3.7.0.