<!--- Verify first that your feature was not already discussed on GitHub -->
<!--- Complete *all* sections as described, this form is processed automatically -->

It's a reopening of the closed issue #21449.

##### SUMMARY
<!--- Describe the new feature/improvement briefly below -->

I would like to be able to specify the minimal version of a package to be installed instead of a (partial) exact match.

For example, I would like to have elasticsearch present on my system in a version equal or greater to 7.6.1 because feature X is present since this version:
- if elasticsearch is not installed: install the latest elasticsearch package 
- if elasticsearch is installed in version 7.6.0: install the latest elasticsearch package (7.6.2) 
- if elasticsearch is installed in version 7.6.1: do nothing, return ok
- if elasticsearch is installed in version 7.6.2 or more: do nothing, return ok

```yml
    - name: Install Elasticsearch.
      package:
        name: elasticsearch>=7.6.1
        state: present
    
```
##### ACTUAL RESULTS

```
fatal: [poc-elasticsearch]: FAILED! => {"changed": false, "msg": "No package matching 'elasticsearch>' is available"}
```

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->

[apt module](https://docs.ansible.com/ansible/latest/modules/apt_module.html)

##### ADDITIONAL INFORMATION
<!--- Describe how the feature would be used, why it is needed and what it would solve -->

Answer to  https://github.com/ansible/ansible/issues/21449#issuecomment-280158405 

> Does apt itself support these? If not, I'm not certain we want to add it as that would require us to parse and compare dpkg version strings. If it does, then I could see us taking a PR to use the apt python bindings to do this... Someone would have to reconcile this with the current usage of the "=" to mean fnmatching, though.

Apt python bindings support the comparison of versions with `apt_pkg.version_compare`:

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

```py 
import apt
import apt_pkg

cache = apt.Cache()
pkg = cache['elasticsearch']

installed = pkg.installed.version
candidate = pkg.versions[0].version

vc = apt_pkg.version_compare(installed,candidate)
if vc > 0:
    print(f'{installed} version > {candidate} version')
elif vc == 0:
    print(f'{installed} version = {candidate} version')
elif vc < 0 and pkg.is_upgradable:
    print(f'{installed} version < {candidate} version')
```
Documentation: https://apt-team.pages.debian.net/python-apt/library/apt_pkg.html?highlight=version_compare#apt_pkg.version_compare 


for package in pkgspec:
        if build_dep:
            # Le
            pkg_list.append("'%s'" % package)
            continue
        name, version = package_split(package)
        package_names.append(name)
        installed, installed_version, upgradable, has_files = package_status(m, name, version, cache, state='install')
        if (not installed and not only_upgrade) or (installed and not installed_version) or (upgrade and upgradable):
            pkg_list.append("'%s'" % package)
        if installed_version and upgradable and version:
            # Th
            # av
            #
            # We 
            # a 
            # tr
            pkg_list.append("'%s'" % package)
    packages = ' '.join(pkg_list)
    if packages:
        if force:
            force_yes = '--force-yes'
        else:
            force_yes = ''
        if m.check_mode:
            check_arg = '--simulate'
        else:
            check_arg = ''
        if autoremove:
            autoremove = '--auto-remove'