##### SUMMARY

If you try to re-release an elastic IP (ensure: absent) which has already been released ec2_eip throws an error rather than simply returning "ok".

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME

lib/ansible/modules/cloud/amazon/ec2_eip.py

##### ANSIBLE VERSION

devel

##### CONFIGURATION

N/A ansible-test

##### OS / ENVIRONMENT

N/A ansible-test

##### STEPS TO REPRODUCE

```
    #==================================================================
    # Allocation from a pool

    - name: allocate a new eip from a pool
      ec2_eip:
        state: present
        in_vpc: yes
        public_ipv4_pool: amazon
      register: eip 
    - ec2_eip_info:
      register: eip_info
    - assert:
        that:
          - eip is defined
          - eip is changed
          - eip.public_ip is defined and eip.public_ip != ""
          - eip.allocation_id is defined and eip.allocation_id != ""

    #==================================================================
    # EIP Deletion

    - name: Release eip 
      ec2_eip:
        state: absent
        public_ip: "{{ eip.public_ip }}"
      register: eip_release
    - ec2_eip_info:
      register: eip_info
    - assert:
        that:
          - eip_release is defined
          - eip_release is changed

    - name: Rerelease eip (no change)
      ec2_eip:
        state: absent
        public_ip: "{{ eip.public_ip }}"
      register: eip_release
    - ec2_eip_info:
      register: eip_info
    - assert:
        that:
          - eip_release is defined
          - eip_release is not changed
```

##### EXPECTED RESULTS

Play completes successfully

##### ACTUAL RESULTS
```
TASK [ec2_eip : Rerelease eip (no change)] *************************************
task path: /root/.ansible/test/tmp/ec2_eip-4v9k8sww-ÅÑŚÌβŁÈ/test/integration/targets/ec2_eip/tasks/main.yml:326
<testhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<testhost> EXEC /bin/sh -c 'echo ~root && sleep 0'
<testhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp/ansible-tmp-1568552830.3837097-100844260545029 `" && echo ansible-tmp-1568552830.3837097-100844260545029="` echo /root/.ansible/tmp/ansible-tmp-1568552830.3837097-100844260545029 `" ) && sleep 0'
Using module file /root/ansible/lib/ansible/modules/cloud/amazon/ec2_eip.py
<testhost> PUT /root/.ansible/tmp/ansible-local-126l_udgy92/tmppojiib6x TO /root/.ansible/tmp/ansible-tmp-1568552830.3837097-100844260545029/AnsiballZ_ec2_eip.py
<testhost> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1568552830.3837097-100844260545029/ /root/.ansible/tmp/ansible-tmp-1568552830.3837097-100844260545029/AnsiballZ_ec2_eip.py && sleep 0'
<testhost> EXEC /bin/sh -c 'ANSIBLE_DEBUG_BOTOCORE_LOGS=True /tmp/python-tkg1ink4-ansible/python /root/.ansible/tmp/ansible-tmp-1568552830.3837097-100844260545029/AnsiballZ_ec2_eip.py && sleep 0'
<testhost> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1568552830.3837097-100844260545029/ > /dev/null 2>&1 && sleep 0'
The full traceback is:
Traceback (most recent call last):
  File "/tmp/ansible_ec2_eip_payload_jseaw6r8/ansible_ec2_eip_payload.zip/ansible/modules/cloud/amazon/ec2_eip.py", line 317, in find_address
  File "/tmp/ansible_ec2_eip_payload_jseaw6r8/ansible_ec2_eip_payload.zip/ansible/module_utils/aws/core.py", line 283, in deciding_wrapper
    return unwrapped(*args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/botocore/client.py", line 357, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/usr/local/lib/python3.6/dist-packages/botocore/client.py", line 661, in _make_api_call
    raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (InvalidAddress.NotFound) when calling the DescribeAddresses operation: Address '52.43.70.125' not found.

fatal: [testhost]: FAILED! => {
    "boto3_version": "1.9.204",
    "botocore_version": "1.12.204",
    "changed": false,
    "error": {
        "code": "InvalidAddress.NotFound",
        "message": "Address '52.43.70.125' not found."
    },
    "invocation": {
        "module_args": {
            "allow_reassociation": false,
            "aws_access_key": "REDACTED",
            "aws_secret_key": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
            "debug_botocore_endpoint_logs": true,
            "device_id": null,
            "ec2_url": null,
            "in_vpc": true,
            "private_ip_address": null,
            "profile": null,
            "public_ip": "52.43.70.125",
            "public_ipv4_pool": null,
            "region": "us-west-2",
            "release_on_disassociation": false,
            "reuse_existing_ip_allowed": false,
            "security_token": null,
            "state": "absent",
            "tag_name": null,
            "tag_value": null,
            "validate_certs": true,
            "wait_timeout": 300
        }
    },
    "msg": "Couldn't obtain list of existing Elastic IP addresses: An error occurred (InvalidAddress.NotFound) when calling the DescribeAddresses operation: Address '52.43.70.125' not found.",
    "resource_actions": [
        "ec2:DescribeAddresses"
    ],
    "response_metadata": {
        "http_headers": {
            "connection": "close",
            "date": "Sun, 15 Sep 2019 13:07:11 GMT",
            "server": "AmazonEC2",
            "transfer-encoding": "chunked"
        },
        "http_status_code": 400,
        "request_id": "c4b65cd8-02de-4503-af3a-0e498db40d53",
        "retry_attempts": 0
    }
}
```

- ec2
author: "Rick Mendes (@rickmendes) <rmendes@illumina.com>"
notes:
   - There may be a delay between the time the EIP is assigned and when
     the cloud instance is reachable via the new address. Use wait_for and
     pause to delay further playbook execution until the instance is reachable,
     if necessary.
   - This module returns multiple changed statuses on disassociation or release.
     It returns an overall status based on any changes occurring. It also returns
     individual changed statuses for disassociation and release.
'''
EXAMPLES = '''
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: associate an elastic IP with an instance
  ec2_eip:
    device_id: i-1212f003
    ip: 93.184.216.119
- name: associate an elastic IP with a device
  ec2_eip:
    device_id: eni-c8ad70f3
    ip: 93.184.216.119
- name: associate an elastic IP with a device and allow reassociation
  ec2_eip:
    device_id: eni-c8ad70f3
    public_ip: 93.184.216.119
    allow_reassociation: true
- name: disassociate an elastic IP from an instance
  ec2_eip:
    device_id: i-1212f003
    ip: 93.184.216.119