Never include self types in named parts of a type
Never include self types in named parts of a type

According to SLS § 7.2, self types are not a named part of a type,
so they're not part of the implicit scope. Before this commit, this was
usually the case because we normally refer to a class using a TypeRef,
but in some cases a class might appear as a ThisType, and
ThisType#underlying returns the self type, we now use ThisType#tref
instead which just returns a TypeRef corresponding to the class.

sjrd/dotty,som-snytt/dotty,som-snytt/dotty,som-snytt/dotty,dotty-staging/dotty,dotty-staging/dotty,lampepfl/dotty,sjrd/dotty,dotty-staging/dotty,lampepfl/dotty,lampepfl/dotty,dotty-staging/dotty,lampepfl/dotty,sjrd/dotty,som-snytt/dotty,som-snytt/dotty,sjrd/dotty,lampepfl/dotty,dotty-staging/dotty,sjrd/dotty