Merge TcSMonad.matchClass into TcInteract.matchClassInst

Just a simple refactoring.  There was only one caller, and the
intermediate data type was not helping.
Fix Trac #8018.

Don't use the zonked-in-the-knot types to create a name for the axiom
in a closed type family.
Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/ghc