Decouple variable declarations so that each can have docstring.
In case of _relck() we also rename variable $relsrc to a more
context-specific term $oracle.
Merge all files:group sections into one, where key is name of the group
and value is source name, optionally followed by destination path.
This breaks old mkit.ini's, but significantly simplifies future ones.
1. Only one section is needed,
2. group list is implied from the files section, removing the need
of lists:group,
3. destination path has been made optional (by default, basename of
the source path is used).
Fix up the path joining logic:
* For obvious reasons, we panic if group's root is empty.
* DESTDIR can be empty, that's normal for installs such as when MKit
installs its own dogfood.
* Root (which sometimes starts with PREFIX) may or may not start with
slash; relative root such as that is also OK for installs like MKit
or TFKit.
* Furthermore, DESTDIR may or may not end with slash; we have to address
that and avoid joining the names.
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