Refactored OverridingPairs

to make it easier to understand.
Fine-tuning override errors for syntehtic companion objects

These may raise real errors, so we cannot exclude them from
overriding pairs a priori. But we can avoid reporting any
errors if other override errors were reported previously for
the same class.