tcCheckSatisfiability: less aggressive superclass expansion
In the pattern-match check we are looking for a proof of *unsatisfiablity* among a bunch of givens. The unsat-ness might be hidden in the superclasses, so we must expand them. But in the common case where the constraints are satisfiable, we don't want to expand a recursive superclass forever. This is all a bit arbitrary, but then the whole question is undecidable anyway. The bug in Trac #10592 comment:12 was that I expanded superclasses forever. This patch fixes it.
Showing with 161 additions and 16 deletions