The changelog is intended to be edited, but it's more convenient this
way (especially if you're like me, using Vim and '{' and '}' as major
means of moving around.
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.
Annotation message is meant as official release note, so including it
there makes sense.
(For example, GitHub will use it to create release note under Releases tab.)
If for some reason, user wants to skip a version or two, this will
override version bumping in vbump_* and some checks new and tag
creation in release_*.
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.
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.