Implement TypeConstraints

Also implements the “abstracts” type constraint, which isn’t (yet?)
supported by the language, only by the grammar.
Implement QualifiedTypeExpressions

by changing visitQualifiedMemberExpression to
visitQualifiedMemberOrTypeExpression.

Also adds type argument lists to QMOTExpr’s. (Included in the test.)