Add dnf support to critpath.py
- made critpath.py python3 compliant
- added support for dnf package resolution to critpath.py
- use dnf for dependency solving if used on a release after Fedora 26
or the script is run under Python 3
- requires the DNF 2.0 library API
- exits if the YUM version is not recent enough when using YUM
- override the defaults for older releases by passing --dnf
- maintain the old hack using a mapping of base architectures to
architectures to use for package dependency solving
Signed-off-by: Robert Marshall <rmarshall@redhat.com>