Cater for empty next/previous minor/major when it's not possible

Migrated issue

Reported by: fjgarlin

Related to !210 (merged)

Problem/Motivation

Up until now, if there was no real next minor or major, we'd just give the "closest" one. For example, while 10.3.x wasn't there, we had 11.x for next minor, and also for next major, but that's wrong.

If there is no next or previous major or minor, we should be able to leave the variables empty and then the related variants shouldn't run at all.

Thanks to @berdir for talking about the issue (via slack) and proposing a fix.

Steps to reproduce

When 10.3.0 is available, 10.4.x might not be created, so there will be no next minor.
Same with 11.0.0 where there won't be previous minor.

Proposed resolution

As we control the variables, we can just set them to empty, and:
- The "check_versions" job can check when they are available and warn us
- The related variants should not run if the variables are empty

The variables that are now allowed to be blank are
CORE_SECURITY_PREVIOUS_MINOR
CORE_PREVIOUS_STABLE (aka Previous Major)
CORE_NEXT_MINOR
CORE_MAJOR_DEVELOPMENT (aka Next Major)

Remaining tasks

MR and tests.

Assignee Loading
Time tracking Loading