Regex.unapplySeq should not take Any (Fixes SI-6406)

This deprecates unapplySeq(Any) and adds overloaded
unapplySeq(CharSequence) and unapplySeq(Match), with the
putative advantage that you can't try to extract the unextractable.

Regex is massaged so that the underlying Pattern is primary,
rather than the String-valued expression.  Regex and its
unanchored companion (I almost wrote unmoored) share a
Pattern object, so that unapplySeq(Match) can easily test
whether the Match was generated by this Regex; in that case,
the match result is used immediately, instead of reapplying
the regex to the matched string.

The documentation is massaged to reflect unanchored and also to
align with the underlying terminology, e.g., "subgroup" really
just means "group."
A wrapper for selecting tests for partest.

"partest-ack", just what it sounds like.

% tools/partest-ack
Usage: tools/partest-ack <regex> [ack options]

Given a regular expression (and optionally, any arguments accepted
by ack) runs all the tests for which any associated file matches
the regex. Associated files include .check and .flags files. Tests
in directories will match if any file matches. A file can match the
regex by its contents or by its name.

You must have ack installed:
  http://betterthangrep.com/ack-standalone

Examples:

  % tools/partest-ack monad
  Found 4 tests matching 'ack monad'

  Testing individual files
  testing: [...]/files/pos/tcpoly_boundedmonad.scala   [  OK  ]
  testing: [...]/files/pos/tcpoly_ticket2096.scala     [  OK  ]
  testing: [...]/files/run/tcpoly_monads.scala         [  OK  ]
  testing: [...]/files/presentation/callcc-interpreter [  OK  ]

  % tools/partest-ack monad -i  # -i == ignore case
  Found 12 tests matching 'ack monad -i'

  Testing individual files
  [etc]
Merge pull request #1381 from paulp/partest-ack

A wrapper for selecting tests for partest.
Pending tests for SI-5954, SI-6225, SI-5877, SI-4695.

Which are all package object bugs.  Plus one more test
regarding package object overloading.
Expanded an error message from the backend.
Comments explaining some brokenness in Namers.
Fixed SI-5604, selections on package objects.

mkAttributedSelect, which creates a Select tree based on
a symbol, has been a major source of package object bugs,
because it has not been accurately identifying selections
on package objects.  When selecting foo.bar, if foo turns
out to be a package object, the created Select tree must be

  foo.`package`.bar

However mkAttributedSelect was only examining the owner of
the symbol, which means it would work if the package object
defined bar directly, but not if it inherited it.
Simplifications in typedIdent.

These accompany the changes to mkAttributedSelect in the
prior commit, and document additional brokenness with package
objects which stillr emains.
Merge pull request #1383 from paulp/issue/5604

Issue/5604
Merge 2.10.x into master to fix breaking tests and keep things up-to-date.
Merge pull request #1410 from jsuereth/master

Merges 2.10.x
Fix class loader issues in instrumentation tests.

The ASM ClassWriter uses a wimpy class loader when computing common
superclasses. This could cause a ClassNotFoundException in the
transform method (at reader.accept). This exception gets swallowed,
resulting in a class that should be instrumented to silently not
be. The fix is to override getCommonSuperClass to use the correct
class loader.

Trivia: This bug was discovered while 'stress-testing' this
instrumentation scheme on the Coursera students, to check that they
implement one method in terms of another in the assignment.
Merge pull request #1414 from namin/master-instr

Fix class loader issues in instrumentation tests.
Merge branch '2.10.x' into 210-merge

* 2.10.x: (37 commits)
  Added logic and tests for unchecked refinements.
  Moved isNonRefinementClassType somewhere logical.
  Moved two tests to less breaky locations.
  Nailed down the "impossible match" logic.
  Finish docs for string interpolation.
  moves Context.ParseError outside the cake
  revives macros.Infrastructure
  moves Context.runtimeUniverse to TreeBuild.mkRuntimeUniverseRef
  a more precise type for Context.mirror
  gets rid of macros.Infrastructure
  simplifies Context.Run and Context.CompilationUnit
  exposes Position.source as SourceFile
  removes extraneous stuff from macros.Infrastructure
  merges macros.CapturedVariables into macros.Universe
  merges macros.Exprs and macros.TypeTags into Context
  removes front ends from scala-reflect.jar
  PositionApi => Position
  hides BuildUtils from Scaladoc
  MirrorOf => Mirror
  docs.pre-lib now checks for mods in reflect
  ...

Conflicts:
	test/files/neg/t4302.check
	test/files/neg/unchecked.check
	test/files/neg/unchecked2.check
Purged DebruijnIndex.

Apparently everyone agrees it's not used anymore.
Merge pull request #1417 from paulp/210-merge

Merging 2.10.x into master.
Fix for SI-6447, macro dependent type propagation.

It really pays not to write new TypeMaps unless it is
absolutely necessary, because there are about 1000 ways
to get them wrong. I'm 98% sure this one can be dropped.
Review by @xeno-by.
Some cleanups in Macros.

Since I was in the neigborhood for SI-6447.
Fix for SI-5130, precision disappearing from refinement.

Remove some code, win a prize.
Merge pull request #1421 from paulp/issue/6447

Issue/6447