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 result in a null via MODULE$ field.

A residual error has been lodged as SI-6997.

I'd like to try to remove calls to `Symbol#outerClass`,
which relies on the flaky flag INCONSTRUCTOR (see my comments
in the JIRA issue for more discussion) from `LambdaLift`
and `ExplicitOuter`, and instead use the stack of active
self/super calls to know when to skip an enclosing class.
I believe this will obviate that flag.