namer refactoring

will fix comment later.

hoock for annotation checkers to assignType (when the type of a val or def def is inferred)

allow annotation checkers to modify the expected type before type-checking a tree

Allow annotation checkers to hook into Namers.typeSig

Replaces the previously added hook `assignAnnotationsToTree` by the more general solution
`typeSigAnnotations`. This hook is invoked whenever the type of a signature (ClassDef, DefDef,
etc) is computed by either parsing the annotated type, or by computing the righthand side's type.

Minor cleanups in AnnotationCheckers.scala

allow annotation checker to be active in selected phases only

hook for annotation checkers to modify getter / setter types

namer refactorings, analyzer plugins

includes test for fixed SI-1803
analyzer plugins

will fix comment later.

hoock for annotation checkers to assignType (when the type of a val or def def is inferred)

allow annotation checkers to modify the expected type before type-checking a tree

Allow annotation checkers to hook into Namers.typeSig

Replaces the previously added hook `assignAnnotationsToTree` by the more general solution
`typeSigAnnotations`. This hook is invoked whenever the type of a signature (ClassDef, DefDef,
etc) is computed by either parsing the annotated type, or by computing the righthand side's type.

Minor cleanups in AnnotationCheckers.scala

allow annotation checker to be active in selected phases only

hook for annotation checkers to modify getter / setter types

namer refactorings, analyzer plugins

includes test for fixed SI-1803