SI-5082 Cycle avoidance between case companions

We can synthesize the case companion unapply without forcing
the info of the case class, by looking at the parameters in
the `ClassDef` tree, rather than at `sym.caseFieldAccessors`.

Review by @paulp. Perhaps you'd like to try it in combination with your `ProductN` patch.