It was getting way too ad-hoc in there. Let's reorganize the tests so that there's a good, obvious, suggested sequence to run them in.
We had a bug (fixed in the previous commit) where doing 'redo-ifchange dirname' (which runs dirname/all.do) would not create the stamp correctly, so that it would always show up as dirty. It's a little bit complicated to simulate, but this does it.