proceeds with the quest of removing `local` from names

Continuing in the direction set by the parent commit, this commit
rephrases some more usages of `local` in names and comments in typer.
SI-7044 loads and autoinitializes associatedFile

Before this commit, Symbol.associatedFile used to be broken in two ways.
Firstly, it was never autoloaded (just like we used to have flags,
privateWithin and annotations). Secondly, it was never filled in by runtime
reflection. Now both problems are fixed.
SI-8187 api#Symbol.name now has precise type

I don’t remember why we didn’t have written it as `def name: NameType`
in the first place (probably because of path-dependent bugs that were
popping up every now and then when we were developing the first version
of reflection API), but now there are definitely no obstacles to that.
does away with implicits in StandardLiftables

Less magic - less opportunities for mystification.
fixes indentation in Annotations.scala
SI-8190 erasure identities for types in reflection API

Makes sure that almost every abstract type declared in reflection API
erases to a unique class, so that they can be adequately used for
method overloading to the same extent that tags allow them to be used
in pattern matching.

The only two exceptions from this rule are the types whose implementations
we do not control: FlagSet that is implemented as Long and RuntimeClass
that is implemented as java.lang.Class[_].
additional class tags for reflection API

Introduces a test that iterates all abstract types in reflection API
and makes sure that every one of them has an associated class tag.

After being introduced, the test has immediately failed exposing
the lack of tags for TreeCopier, Mirror and RuntimeClass, which has been
subsequently fixed in this commit.