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
Merge pull request #1126 from drinkcat/splittest

tests: Split test runs by release, and retry as needed
tests/18-upgrade: Disable trusty->utopic upgrade test.

See https://bugs.launchpad.net/ubuntu/+source/update-manager-core/+bug/1382707 .
Merge pull request #1127 from drinkcat/splittest

tests/18-upgrade: Disable trusty->utopic upgrade test.
daemon.sh: make use of autotest infrastructure.
daemon.sh: platform_Crouton is capitalized, for good.
daemon.sh: Partial fetches directly from host.
genreport.sh: Generate HTML report from a set of test results.
daemon.sh: Generate report on the fly.