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.
This is the last version where we tolerate incompatible changes in
mkit.ini and from now on, all mkit.ini files must have the version line
(in first 3 or last 3 lines).
As per my interpretation of SemVer, if major version is 0, we may
introduce incompatible changes within minor, in that case we check that
as well. Otherwise, we just check the major.
Some parts got a bit confusing over time, also there was repetition.
In this commit:
* the release fact gathering routines have been moved to separate
module,
* some less useful routines have been removed,
* some internal interfaces have been changed to allow for more
readable code.
Simplify maintenance by moving list of valid_targets to a separate
function. Both router and usage message are now consumers thereof.
This also changes format of the usage message.