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."
Added utility function shortClass.

Pretty sick of names like

  scala> typeOf[List[Int]].getClass.getName
  res0: String = scala.reflect.internal.Types$TypeRef$$anon$1

I wrote this so I can see what the class of some arbitrary
thing is in a way which my little brain can understand.  For
the example above we get

  scala> shortClassOfInstance(typeOf[List[Int]])
  res0: String = ArgsTypeRef with AliasTypeRef

Let's pimp a "shortClassName" onto AnyRef and be happy.
Renamed hasSymbol to hasSymbolField.

Suggestion by retronym that the obvious implementation of
"hasSymbol" be called "hasSymbol" reminded me we have a method
called "hasSymbol" which does not have that implementation, and
which has burned us already with subtle bugginess. I think that
"hasSymbolField" is self-documenting.
Merge pull request #1456 from paulp/has-symbol-field

Renamed hasSymbol to hasSymbolField.
Fix for rangepos crasher.

wrapClassTagUnapply was generating an unpositioned tree
which would crash under -Yrangepos.  See SI-6338.
Eliminated pattern matcher warning.

Implicit extractor must be available to pattern match on
abstract type.  Requires prior commit not to crash under
-Yrangepos.
Fix for spurious warning.

Eliminates spurious "catch block may intercept non-local return"
seen in recent builds of master.  Unified some catch logic
in TreeInfo, and removed some which never worked.
Merge pull request #1429 from paulp/topic/shortClass

Added utility function shortClass.
Merge pull request #1369 from som-snytt/issue/6406-regextract

Regex.unapplySeq should not take Any (Fixes SI-6406)
Moved some disabled test to the right place.

It's test/disabled/XXX, not test/files/disabled/XXX.
Moved a bunch of passing tests out of pending.

If the test names can be believed, this covers

  SI-294 SI-1751 SI-1782 SI-2318 SI-3897
  SI-4649 SI-4786 SI-5293 SI-5399 SI-5418
  SI-5606 SI-5610 SI-5639

Most of these were moved to pending in 1729b26500
due to failures of unknown cause.  It was suggested
they be brought back "as soon as possible" and that
was three months ago; I suppose it's now possible.

If they need to be disabled again, please move them
to test/disabled, not to test/pending.  "disabled"
should mean a formerly passing test in limbo; "pending"
tests document bugs which await fixing.

I also removed some dead files in test/ - the
files with a "cmds" extension are from a failed
experiment and do not do anything.
Merge pull request #1447 from paulp/spurious

Spurious warning elimination.
Merge pull request #1467 from paulp/passing-tests

Move tests out of pending.
Merge branch 'master' into infer-method-alternative
Incorporated pull request feedback.

And fixed the test I broke at the last minute. Reworked
tupling logic to make it harder to break.  Expanded test
coverage.