tests: add ConstType and free-typevar singleton tests
Add comprehensive tests for ConstType subtyping, isa, intersection,
and free-typevar singleton semantics:
- ConstType{A} <: ConstType{B} iff A === B
- ConstType{A} <: Type{A} but not vice versa
- isa(x, ConstType{A}) uses identity (key soundness test)
- Degenerate UnionAll not isa ConstType (the #61323 fix)
- ConstType intersection rules
- Vector.body != Vector (free-typevar singletons)
- isa(Vector.body, Type{Vector.body}) (identity-based)
- f(Vector.body) correctly binds sparam to Vector.body
- Partial applications (AbstractArray.body.body) are singletons
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>