Fix type->contract for recursive Name types

Certain mutually recursive Name types would generate
contracts that infinite loop when triggered.
Change "Class and units" to "Unsupported features"

Also remove classes since they are supported now.

Closes PR 14398