Re-jig simplifySuperClass (again)
This fixes the current loop in T3731, and will fix other reported loops. The loops show up when we are generating evidence for superclasses in an instance declaration. The trick is to make the "self" dictionary simplifySuperClass depend *explicitly* on the superclass we are currently trying to build. See Note [Dependencies in self dictionaries] in TcSimplify. That in turn means that EvDFunApp needs a dependency-list, used when chasing dependencies in isGoodRecEv.