Wow, I suck at coding and you guys suck at review ;). First:
the imagetype/payload discovery is now run on all jobs, but it
will crash for jobs where the flavor is 'universal', because
that doesn't yield the expected two values. So deal with that.
Second, it turns out we do need to deepcopy the testcase dict,
because we get each dict multiple times; when we modify the
dict in place we poison it for future runs - e.g. if the first
job we hit for some testcase happens to be the BIOS job, the
dict's env gets set to 'x86 BIOS', and when we hit the job for
the same testcase but for UEFI, the env remains 'x86 BIOS'
because the magic value has already been replaced in the dict.
So we need to copy the dict each time we read it out of
TESTCASES.
Note: this is why the 2015-12-19 results did not initially
show up in the wiki.