Remove obsolete build_manpages target and markdown type
They're based on obsolete mkit.ini structure and is not used in any known
project. That said, at least build_manpages will be added in future,
most probably in form of plugin, once plugin structure is figured out.
(Stay tuned, but don't hold your breath!)
A bit convoluted check that cannot fail, since everything now relies on
var.sh being imported, which is guarranteed to set $MKIT_LOCAL to a
non-empty value.
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.