Fix SI-5009: case-class copy method now eta-expands over higher parameter lists.

Example: Given

  case class C(a: Int)(b: Int)

if you call (new C(1)(2)).copy(a = 10)), you get a function (f: Int => C) such
that (f.apply(20)) yields a (new C(10)(20)).
Fix SI-5626.

By not replacing 'CaseClass.apply()' factor by 'new CaseClass()' when the class type 'CaseClass' is not accessible.
Test case closes SI-5407

It still breaks as described in the ticket under -Xoldpatmat.
cherry-picking important macro fixes from topic/reflection
Another bug bites virtpatmat's dust.

Test case closes SI-5029.
A REPL pattern matching crasher that crashes no more.

Not due to virtpatmat, mind you; it passes with -Xoldpatmat.

Closes SI-4025.
NSDNHAO need not tell us in which version it resides.

This is done for all crashers now. Furthermore, that error report
makes it pretty clear that it's a compiler bug, not user error, so
"this is a bug" seem like needless words.

Resisted the nostalgic temptation to remove the "an".
Confirm extractor based pattern matches don't explode exponentially.

Closes SI-1133, thanks virtpatmat.
Merge remote-tracking branches 'retronym/ticket/5407', 'scalamacros/topic/macrocherrypick', 'lrytz/t5626', 'lrytz/t5009', 'retronym/ticket/5029', 'retronym/ticket/4025', 'retronym/topic/quieter-nsdhnao' and 'retronym/ticket/1133' into develop
Test for SI-5394.
Merge branch 'master' of https://github.com/scala/scala
Deprecated some classes.

All this stuff.  I believe most of this is uncontroversial.

  scala/util/Marshal.scala
  scala/util/automata/BaseBerrySethi.scala
  scala/util/automata/DetWordAutom.scala
  scala/util/automata/Inclusion.scala
  scala/util/automata/NondetWordAutom.scala
  scala/util/automata/SubsetConstruction.scala
  scala/util/automata/WordBerrySethi.scala
  scala/util/grammar/HedgeRHS.scala
  scala/util/grammar/TreeRHS.scala
  scala/util/parsing/ast/AbstractSyntax.scala
  scala/util/parsing/ast/Binders.scala
  scala/util/parsing/combinator/testing/RegexTest.scala
  scala/util/parsing/combinator/testing/Tester.scala
  scala/util/parsing/input/Positional.scala
  scala/util/regexp/Base.scala
  scala/util/regexp/PointedHedgeExp.scala
  scala/util/regexp/SyntaxError.scala
  scala/util/regexp/WordExp.scala

I'd have deprecated much of it long ago if the compiler didn't
still depend on it due to xml/dtd/something.  And it still does,
but it's time to deprecate them anyway.
Tweak to the runner to deal with the big bad world.

Relative symlinks which start with .. are then run with an
absolute path.  It's robustness city.
Address doc comment rot in the standard library.

- Match @param/@tparam names to the actual parameter name
- Use @tparam for type parameters
- Whitespace is required between `*` and `@`
- Fix incorrect references to @define macros.
- Use of monospace `` and {{{}}} (much more needed)
- Remove `@param p1 ...` stubs, which appear in the generated docss.
  - But, retainsed `@param p1` stubs, assuming they will be filtered from
    the generated docs by SI-5795.
- Avoid use of the shorthand `@param   doc for the solitary param`
  (which works, but isn't recognized by the code inspection in IntelliJ
  I used to sweep through the problems)

The remaining warnings from `ant docs` seem spurious, I suspect they are
an unintended consequence of documenting extension methods.

  [scaladoc] /Users/jason/code/scala/src/library/scala/collection/TraversableOnce.scala:181: warning: Variable coll undefined in comment for method reduceOption in class Tuple2Zipped
  [scaladoc]   def reduceOption[A1 >: A](op: (A1, A1) => A1): Option[A1] = reduceLeftOption(op)
  [scaladoc]       ^
Test case closes SI-5137.

virtpatmat strikes again.
Merge commit 'refs/pull/543/head'; commit 'refs/pull/544/head'; commit 'refs/pull/546/head' into develop
Removed an unnecessary self type.