SI-7126 Account for the alias types that don't dealias.

After this change:

    qbin/scalac -Ydebug test/files/pos/t7126.scala 2>&1 | grep warning
    warning: dropExistential did not progress dealiasing Test.this.T[Test.this.T], see SI-7126
    one warning found

T[T]? Really? The true bug lies somewhere else; the comments of
the ticket illuminate the general areas of concern.
SI-7126 Eliminate a source of malformed types.

The kind-polymorphic nature of Nothing and Any in
concert with type argument inference could lead to
types like `T[T]` (where `type T=Any`).

Compensatory action is taken later on to recover;
see the usages of `TypeRef#typeParamsMatchArgs`.
But this these types have a nasty property, they
can dealias to themselves. Callers recursing through
types who fail to account for this hit an infinite
recursion, as was reported in SI-7126.

This commit simply dealiases `T` when registering
the type bound in `unifySimple`.

We should try to weed out additional sources of
these types.
Merge pull request #2167 from retronym/ticket/7126

SI-7126 Account for the alias types that don't dealias.