(#15841) Add tar unpacking security checks

Add cheks to ensure no file from the module tarball is written
outside of the module directory.
advanced install
(#13542) Full featured support for installation from a local tarball

This patch adds support from installing or upgrading a mdoule from a local
tarball.
fix a typo
get option values before using them
prefer remote versions over local ones if --force is specified
fix a typo in a variable name
report all dependencies
force implies ignore dependencies
ensure that upgrade won't use the currently installed release
always prefer already installed module releases of the same version
report version of the actually selected upgrade module in possible exception
report the specified version in preference
ensure that force install actually installs something
don't make assumptions about parameter hash
check for local changes before upgrade
undo the effect of hiding the previously installed release
sort resolutions by module name to produce consistent results
allow downgrade if version is explicitly specified
upgrade version check fiddling