SI-3832 Don't lift methods in aux constructor trailing stats as STATIC

SI-1909 modified LambdaLift to lift in auxiliary constructors methods as STATIC
so they could be called before the self-constructor was called.

That allowed for:

     class Foo (x: Int) {
       def this() = this( {
         def bar() = 5
         bar
       })
    }

However, if the method is in a statement that trails the self constructor call,
this is unnecessary and in fact incorrect as it robs the lifted method of `this`.

This commit uses the machinery established in SI-6666 to limit the STATIC-ness
of lifted methods to those used in arguments for self-constructor calls.

This is used exclusively; the `isAuxillaryConstructor` check wasn't the right
way to solve this, as was seen by the regression it caused in SI-3832.
A new test case shows that we can statically lift methods in super-constructor
calls, rather than just self-constructor calls.

We also have to avoid statically lifting objects in these positions. For now,
I just emit a dev warning that a VerifyError is in your future. With some more
thought we could escalate that to a implementation restriction and emit an error.
SI-7007 Test case shows we disallow premature `this` access

Rather than the old behaviour, which compiled successfully
but led us into the jaws of a LinkageError.

Related to SI-6666.
SI-7723 More finesse in setting INCONSTRUCTOR

It's a clunky flag used to determine very early on whether
we're in the self-call, super-call or early-init section.

In SI-6666 / fd6125428, the check was improved to consider nesting.
But, that caused this regression, as Function's haven't been
translated to classes yet, so our check for enclosing non-term
owners failed wrongly flagged definitins body of a anonymous function
as INCONSTRUCTOR.

With this patch, we correctly flag:

    class C extends D {
      // INCONSTRUCTOR
      () => {
        !INCONSTRUCTOR
      }
      // INCONSTRUCTOR
    }