Turn AThing into ATcTyCon, in TcTyThing
This change tidies up and simplifies (a bit) the knot-tying when kind-checking groups of type and class declarations. The trouble (shown by Trac #11356) was that we wanted an error message (a kind-mismatch) that involved a type mentioned a (AThing k), which blew up. Since we now seem to have TcTyCons, I decided to use them here. It's still not great, but it's easier to understand and more robust.