.builds: switch to fedora/39 build image

python3.7 has been retired in Fedora 40.
ruff.toml: sort and reformat file
Post release version bump
pyproject.toml: add Homepage to [project.urls]
Test alternative pythons in CLI
Test libdnf5_cli
Add shim module for libdnf5_cli
Make libdnf5 a single-file module instead of a package

In case of installation conflicts, libdnf5/__init__.py has priority over
Make initialize() parametrizable
pyproject.toml: add .[codeqa] to dev meta extra
Post release version bump
README: fix link
Rename test_libdnf5-shim.py to test_libdnf5_shim.py

This should be a valid Python module name.
Reorganize code and improve tests