extract function: depends.extract_os_specific_depends
comment typo
refine comments
refine var names
fix: paths starting with dot (like './this/path') wrongly considered as absolute
TODO added
refine variable names
remove function package.fetch_pkgs()

It was just delegating the work to package.fetch_pkg() and doing nothing useful.
extract functions: package.is_source_type() & package.ensure_source_arch_and_type()
install: add ability to accept path to the downloaded module as an alternative to its name/version

This can be used like this: `bin/luadist install /path/to/module` and will attempt to
install the module from the specified path along with its dependencies that will be obtained
from the repository. The path is detected by having any valid architecture specific path separator.
fix: bug in 'tree' functionality, left from removing fetch_pkgs()
package.fetch_pkg(): return package table updated with pkg.download_dir
install: do not delete download dirs of packages that were specified by their directories

When the module to be installed is specified by its directory rather than by its name/version,
then the value 'preserve_pkg_dir = true' is added to its info table used during the
installation process, thus preserving the deletion of the download location upon successful
installation.