Redmine#4761: Clarify and fix semantics of release-ID generation

see https://cfengine.com/dev/issues/4761

Please note that each commit should be reviewed separately.  The only potentially dangerous commit is ff2e780

The acceptance test is very useful to establish how `cf-promises -T` should work.