typechecker: cleaner variable names in sub_type

Summary: ... when both args have the same type and order matters,
 the names matter as well; ##ty1## and ##ty2## don't communicate
 much about their presumed subtype relationship.

Reviewed By: @jwatzman

Differential Revision: D1466669
typechecker: typing new static() [2/3]

Summary: Enforce "descendants of this class must have compatible
 `__construct` declarations", due to either properties of the
 class/`__construct` method, or due to the use of the
 `<<ConsistentConstruct>>` attribute.

Reviewed By: @jwatzman

Differential Revision: D1466669