SI-6666 Restrict hidden `this` access in self/super calls.

Detect when classes (user provided, or compiler generated)
local to a self or super constructor argument would require
premature access to the in-construction instance. The same
restriction applies for classes and objects; for objects,
the premature access would by via the static MODULE$ field,
which would be null.

Communicate this with a nicely positined error.

A residual error, has been lodged as SI-6997.