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 usually not CPU-bound
   (also, `nyan_big` `/proc/cpuinfo` only shows 1 CPU...).
tests/18-upgrade: Test trusty->utopic

Also, precise->trusty is not experimental anymore.
tests/20-logind: Test utopic.
tests/30-audio-branches: Remove testing of audio branches

 - We now rely on commit ids
 - We can easily test on multiple channels
tests/12-edit-chroot: Add tee /dev/stderr to debug #1106