Fix subtyping of (ListDots t 'a) <: (Listof t).

Closes PR 13636.
Switch out? to from-typed? as it has the same meaning.

Commit 1 of 2, will be squashed before push.
Switch out? to from-typed? as it has the same meaning.
Allow requiring functions with filters in contravariant positions.
Make type->contract correctly respect variance.

Closes PR 13662.
Closes PR 13663.
Closes PR 13665.