Fix lasttag expression to get "latest tag *so far*"
Turns out that the old version has always shown the last tag available
instead of last tag available *so far*, i.e. up to the current HEAD.
This made it impossible to determine version correctly when an older
version was checked out, i.e. installing or packaging an older version
would result in broken versioning.
New "functional-like" design makes it simpler to understand, extend,
re-order and re-use blocking conditions.
Also, the "old looks newer" condition was dropped as it's not really
necessary under such simplistic conditions.
Turns out that when DESTDIR is used, the PREFIX dir almost never exists
(such as if DESTDIR points to a build root).
Before DESTDIR support was added, mkit would rely on PREFIX itself.
Now, checks will be done on DESTDIR itself, which must be set internally
in mkit.ini or inherited. PREFIX is actually considered only inside
mkit.ini itself.
DESTDIR[1] can be now set to specify the root in situations such as when
building a package or installing to a chrooted environment.
If not specified by environment variable (eg. by make) or in mkit.ini,
the default value is governed by MKIT_DEFAULT_DESTDIR, which defaults to
"/".
[1]: https://www.gnu.org/prep/standards/html_node/DESTDIR.html
Fix bad dist paths due to inadvertent ShellCheck "fix"
Actually ShellCheck was *right* that the variable expansion needed to
take care of spaces in paths, but the fix (g:b68913c in ffoo repo) was
totally wrong and only broke things.
Lessons learned:
* *Do* run ShellCheck et al., but still **DO CAREFULLY** consider
effects in the particular context.
* Too much coffee, repetitive work *and* distraction is a good way
to ask for trouble.