check the presence of 'git' & 'cmake' only when really needed

Currently, luadist-git uses git only when uploading the modules
and cmake only when compiling the source modules during the
installation.
suppress printing git fetch progress only when not in debug mode
always print whether downloading binary or source version of module
add option to disable the download cache and print howto instructions

If some module was previously downloaded (e.g. by using 'fetch' command)
and then is to be installed (with 'install' command), we skip downloading,
if the directory with downloaded module already exists in 'tmp' directory
and 'cache_timeout' (see config.lua) isn't expired...

In this commit, enable bypassing this cache with '-cache=false' option
and print information about this option to the user every time when
the module from the cache is used...

Currently, the module is stored in the cache only when downloaded with the
'fetch' command. When the module is downloaded with the 'install' command,
it's deleted after its successful installation (unless not in debug mode).
improve docstring + rename function in assert msgs