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

##### SUMMARY
<!--- Describe the new feature/improvement briefly below -->
dnf has a nobest [option](https://dnf.readthedocs.io/en/latest/command_ref.html#options-label) which does the following:

> --nobest
>     Set best option to False, so that transactions are not limited to best candidates only.

##### ISSUE TYPE
- Feature Idea

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

##### ADDITIONAL INFORMATION
<!--- Describe how the feature would be used, why it is needed and what it would solve -->
Docker cannot be installed on CentOS8 without `--nobest` option and later on every time you want to do dnf upgrade you should pass `--nobest` option again, so that it does not complain about `docker-ce` package.
import dnf.const
    import dnf.exceptions
    import dnf.subject
    import dnf.util
    HAS_DNF = True
except ImportError:
    HAS_DNF = False
from ansible.module_utils._text import to_native, to_text
from ansible.module_utils.urls import fetch_file
from ansible.module_utils.six import PY2, text_type
from distutils.version import LooseVersion
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.yumdnf import YumDnf, yumdnf_argument_spec
class DnfModule(YumDnf):
    """
    DNF Ansible module back-end implementation
    """
    def __init__(self, module):
        
        super(DnfModule, self).__init__(module)
        self._ensure_dnf()
        self.lockfile = "/var/cache/dnf/*_lock.pid"
        self.pkg_mgr_name = "dnf"
        try:
            self.with_modules = dnf.base.WITH_MODULES
        except AttributeError:
            self.with_modules = False
        
        self.allowerasing = self.module.params['allowerasing']
    def is_lockfile_pid_valid(self):