<!--- 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.
try:
                        self.base.environment_remove(environment)
                    except dnf.exceptions.CompsError:
                        
                        pass
                installed = self.base.sack.query().installed()
                for pkg_spec in pkg_specs:
                    
                    if '*' in pkg_spec:
                        try:
                            self.base.remove(pkg_spec)
                        except dnf.exceptions.MarkingError as e:
                            is_failure, handled_remove_error = self._sanitize_dnf_error_msg_remove(pkg_spec, to_native(e))
                            if is_failure:
                                failure_response['failures'].append('{0} - {1}'.format(pkg_spec, to_native(e)))
                            else:
                                response['results'].append(handled_remove_error)
                        continue
                    installed_pkg = list(map(str, installed.filter(name=pkg_spec).run()))
                    if installed_pkg:
                        candidate_pkg = self._packagename_dict(installed_pkg[0])
                        installed_pkg = installed.filter(name=candidate_pkg['name']).run()
                    else:
                        candidate_pkg = self._packagename_dict(pkg_spec)
                        installed_pkg = installed.filter(nevra=pkg_spec).run()
                    if installed_pkg:
                        installed_pkg = installed_pkg[0]
                        evr_cmp = self._compare_evr(
                            installed_pkg.epoch, installed_pkg.version, installed_pkg.release,
                            candidate_pkg['epoch'], candidate_pkg['version'], candidate_pkg['release'],