Add debugging information on scheduler failures

The goal is that this is helpful in debugging scheduler failures.
Parse "catd" as CATD, not CAT

Well, this is horribly fragile...  I guess it turns out that my big
block of strcmps needs to be sorted by length...
Run scheduling until completion

Instead I was running scheduling until width inference had completed.
Clearly a typo...
Add an un-ordered test

This contains the first test that isn't actually in dataflow order.
This catches the single-pass-only scheduler bug.