rejig classifying children; do set and list with conditions

the code to classify child nodes into args/bvars/qualifiers was repeated a couple of times, so it's now a method CToP.classifyChildren.

Add support for the form of <set> and <list> which uses bvar and condition instead of explicitly listing elements.
fix typo in factorof
show stack when there's an error running a test
fix check for interval as qualifier in classifyChildren

That code doesn't keep track of firstArg any more, so interval will be the second child of <apply><int/>
collect together repeated bvars in the bottom of a partialdiff