Collapse CTy/CTy0 and introduce CTVar

This doesn't really make any changes to the compiler or the type checker, just
pushing the AST change through to make sure evertything still works.  All the
backend tests seem happy.

Next up: define the type checker in terms of the linter.