tests: Split test runs by release, and retry as needed

When `$release` is blank, the tests output a list of supported releases, that is intersected with `$SUPPORTED_RELEASES`. Also, `all` indicates that all releases are supported, and `default` indicates that only a default release should be tested.

This allows to retry tests when needed, because of mirror issues.

Other keys features:
 - Randomized test order
 - Retry with a different release on default tests
 - Always run 3 jobs in parallel: we are often not CPU-bound (also, `nyan_big` `/proc/cpuinfo` only shows 1 CPU).