The install methods of Distro inconsistently resolve dependencies or don't
depending on the descendant's implementation. Pin that more unambigously by
adding a new parameter install_deps, defaulting to True, to the following
methods of lib.Distro:
_install_local_files()
_install_urls()
_install_urls_and_names()
install()
The implementations in lib.distros.* make use of the new
lib.pm.*.install_packages() method introduced by the previous commit.
Add a unit test directory per Distro descendant.
Assisted-by: unsloth/Qwen3.8-27B-GGUF:Q4_K_M with pi.dev v1.4.0
Signed-off-by: Jan Lindemann <jan@janware.com>