##### SUMMARY
When using wild-card in package name to remove, the first run will remove the packages,
but the second run will fail with message `Failed to install some of the specified packages`

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME

- dnf

##### ANSIBLE VERSION
```
ansible 2.8.5
  config file = /home/rabin/src/ansible/workstation-setup/ansible.cfg
  configured module search path = ['/home/rabin/.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

```
ANSIBLE_SSH_CONTROL_PATH(/home/rabin/src/ansible/workstation-setup/ansible.cfg) = ./.ansible/ssh-%%C
CACHE_PLUGIN(/home/rabin/src/ansible/workstation-setup/ansible.cfg) = jsonfile
CACHE_PLUGIN_CONNECTION(/home/rabin/src/ansible/workstation-setup/ansible.cfg) = ./.ansible/facts_cache
CACHE_PLUGIN_TIMEOUT(/home/rabin/src/ansible/workstation-setup/ansible.cfg) = 86400
DEFAULT_EXECUTABLE(/home/rabin/src/ansible/workstation-setup/ansible.cfg) = /bin/bash
DEFAULT_GATHERING(/home/rabin/src/ansible/workstation-setup/ansible.cfg) = smart
DEFAULT_HOST_LIST(/home/rabin/src/ansible/workstation-setup/ansible.cfg) = ['/home/rabin/src/ansible/workstation-setup/inventory']
DEFAULT_REMOTE_PORT(/home/rabin/src/ansible/workstation-setup/ansible.cfg) = 22
RETRY_FILES_SAVE_PATH(/home/rabin/src/ansible/workstation-setup/ansible.cfg) = /home/rabin/src/ansible/workstation-setup/.ansible/retry
```

##### OS / ENVIRONMENT

* Fedora 30

##### STEPS TO REPRODUCE

try to remove a package twice
or run the playbook twice (first run will work if there is a match, but secend run will fail)


```yaml
- dnf:
    name: lohit-*-fonts

- dnf:
    name: lohit-*-fonts
    state: absent

- dnf:
    name: lohit-*-fonts
    state: absent

```

##### EXPECTED RESULTS
Same as when you ask it to remove a spesific package
```yaml
- dnf:
    name: lohit-tamil-fonts

- dnf:
    name: lohit-tamil-fonts
    state: absent

- dnf:
    name: lohit-tamil-fonts
    state: absent
```


##### ACTUAL RESULTS
```
fatal: [localhost]: FAILED! => {"changed": false, "failures": ["lohit-*-fonts - no package matched: lohit-*-fonts"], "msg": "Failed to install some of the specified packages", "rc": 1, "results": []}
```

"""
        Return a dictionary of information for a package name string or None
        if the package name doesn't contain at least all NVR elements
        """
        if packagename[-4:] == '.rpm':
            packagename = packagename[:-4]
        
        
        redhat_rpm_arches = [
            "aarch64", "alphaev56", "alphaev5", "alphaev67", "alphaev6", "alpha",
            "alphapca56", "amd64", "armv3l", "armv4b", "armv4l", "armv5tejl", "armv5tel",
            "armv5tl", "armv6hl", "armv6l", "armv7hl", "armv7hnl", "armv7l", "athlon",
            "geode", "i386", "i486", "i586", "i686", "ia32e", "ia64", "m68k", "mips64el",
            "mips64", "mips64r6el", "mips64r6", "mipsel", "mips", "mipsr6el", "mipsr6",
            "noarch", "pentium3", "pentium4", "ppc32dy4", "ppc64iseries", "ppc64le", "ppc64",
            "ppc64p7", "ppc64pseries", "ppc8260", "ppc8560", "ppciseries", "ppc", "ppcpseries",
            "riscv64", "s390", "s390x", "sh3", "sh4a", "sh4", "sh", "sparc64", "sparc64v",
            "sparc", "sparcv8", "sparcv9", "sparcv9v", "x86_64"
        ]
        rpm_arch_re = re.compile(r'(.*)\.(.*)')
        rpm_nevr_re = re.compile(r'(\S+)-(?:(\d*):)?(.*)-(~?\w+[\w.+]*)')
        try:
            arch = None
            rpm_arch_match = rpm_arch_re.match(packagename)
            if rpm_arch_match:
                nevr, arch = rpm_arch_match.groups()
                if arch in redhat_rpm_arches: