A little clarity for AddInterfaces.

And a couple conveniences elsewhere.
Fixes #SI-5578.
ResetAttrs shouldn't be side-effecting on the original tree,
since it can lead to NPEs in erroneous trees (or maybe even for valid ones?).
Review by @odersky

(Patch by plocinic, applied without his complicity by extempore)
Hackaround for people who like to instantiate the uninstantiable.

Closes SI-5666 again.

(I don't have the least clue how I'm supposed to issue the error.)
Look at all the Strings which no longer are.

  // and a few dozen along the same lines
  lazy val SeqModule = requiredModule[scala.collection.Seq.type]

With fewer Strings, all things are possible.
Workaround for scaladoc failure.

Addressing this little fellow:

21:40:22   [scaladoc] src/library/scala/collection/TraversableOnce.scala:382: error: missing parameter type for expanded function
21:40:22   [scaladoc] The argument types of an anonymous function must be fully known. (SLS 8.5)
21:40:22   [scaladoc] Expected type was: _[?] => Coll[A]
21:40:22   [scaladoc]       case xs: generic.GenericTraversableTemplate[_, _] => xs.genericBuilder mapResult {
21:40:22   [scaladoc]                                                                                        ^
tpe -> tpeHK here and there.

Review by @moors.
Fixs for reflection and getSimpleName.

Since getSimpleName will be crashing us indefinitely, took the
expedient route and wrapped the call.
fixed typo in documentation of @cpsParam
small tree attachment refactoring: firstAttachment
move more of match translation out of typers

reduce duplication in [typed/translated]Match & co

in preparation of moving match translation out of the type checker,
setting everything up so that we can simply type Match nodes first,
then translate them separately

using DefaultOverrideMatchAttachment to remember the default override for a match
that defines a PartialFunction

only strip annotations when translating match
or cps in matches fails

widen selector type when translating

match-derived partialfunction slightly less cps-specific
moving patmat to its own phase

sort field accessors, necessary after typers -- apparently...

don't throw TypeError, use issueTypeError
don't run patmat phase when -Xoldpatmat
only virtualize matches when -Xexperimental

recycle cps type of match for re-typechecking:
  when one of the internal cps-type-state annotations is present, strip all CPS annotations
  a cps-type-state-annotated type makes no sense as an expected type (matchX.tpe is used as pt in translateMatch)

don't synth FunctionN impls during typer, only do this for PartialFunction
updated check now function synth for match is deferred until uncurry

patmat-transform try/catch with match in cps

cleanup in selective anf
remove TODO: can there be cases that are not CaseDefs -- nope
partial fun synth typing under correct pt
SI-5729: TypeVar experimentals iff -Xexperimental

it used to also be enabled by -Yvirtpatmat, which is now on by default,
but this type hackery is no longer necessary to bootstrap under the new pattern matching scheme,
so let's only turn it on when people are feeling -Xexperimental
Add pending test for SI-5018.
un-cps expected type in translateMatch

... where it belongs, instead of in MatchTransformer
Add pending test for si-5698.
Pending test for si-5676.
SI-5542 closed by test case
fix SI-5682
Add a link to "z" in Scaladoc

We have index/index-z.html but there is no link in HTML.