Add warning for badly staged types.
Resolves #23829 (closed).
The stage violation results in out-of-bound names in splices. Technically this is an error, but someone might rely on this!?
One important change is that we now track stages for TyVars.