Moves AbstractFileClassLoader to scala-reflect.jar

Its string name was used in ReflectionUtils and became broken after repl
got factored out. This hints that that classloader belongs to where it is
used, i.e. to scala-reflect.jar.

Moreover AbstractFile is defined in scala-reflect.jar, so it's only
logical to also define a derived classloader in scala-reflect.jar.
SI-7499 Additional test case for SI-7319

From a duplicate ticket.
SI-3425 erasure crash with refinement members.

Checking that a refinement class symbol does not override
any symbols does mean it will have to be invoke reflectively;
but the converse is not true. It can override other symbols
and still have to be called reflectively, because the
overridden symbols may also be defined in refinement classes.

  scala> class Foo { type R1 <: { def x: Any } ; type R2 <: R1 { def x: Int }  }
  defined class Foo

  scala> typeOf[Foo].member(TypeName("R2")).info.member("x": TermName).overrideChain
  res1: List[$r.intp.global.Symbol] = List(method x, method x)

  scala> res1 filterNot (_.owner.isRefinementClass)
  res2: List[$r.intp.global.Symbol] = List()

And checking that "owner.info decl name == this" only works if
name is not overloaded.

So the logic is all in "isOnlyRefinementMember" now, and
let's hope that suffices for a while.
SI-7436 Varargs awareness for super param aliasing.

Don't consider a super class parameter accessor to be
an alias if it is a repeated. Parameter aliases are used
to avoid retaining redundant fields in the subclass; but
that optimization is out of the question here.
Added another test.

Probably overshot the mark a little.
Merge pull request #2568 from scalamacros/topic/abstractfile-classloader

Moves AbstractFileClassLoader to scala-reflect.jar
SI-7502 removing non-existent element from ListMap returns same map.

Current imperative version constructs a new ListMap regardless of
the fact the map doesn't contain the element. Replace it with the
tail-recursive variant that conserves. Also replace some usages with
the invariant now held.
SI-6811 Deprecate scala.util.parsing.json
SI-7410 REPL uses improved tools.jar locator

The logic in partest for snooping around for tools.jar
is moved to PathResolver, and ILoop uses it from there.

If JAVA_HOME is toolless, check out java.home.

The use case was that Ubuntu installs with `java` at
version 6 and `javac` at version 7; it's easy to wind
up with JAVA_HOME pointing at the version 6 JRE, as
I discovered.  It's confusing when that happens.

In future, partest might run under 7 and fork tests
under 6, but those permutations are downstream.
PathResolver uses platform EOL to mkStrings
Merge pull request #2576 from retronym/ticket/7436

SI-7436 Varargs awareness for super param aliasing.
Merge pull request #2581 from soc/SI-6811-json

SI-6811 Deprecate scala.util.parsing.json
Avoid caching different types in TypeSymbol.

Try to prevent TypeSymbols from caching a different typeref
for tpe_* and typeConstructor if the symbol is monomorphic.
I find this undesirable:

  scala> AnyRefClass.tpe eq AnyRefClass.typeConstructor
  res0: Boolean = true

  scala> AnyRefClass.tpe eq AnyRefClass.typeConstructor
  res1: Boolean = false
Concision contribution.

We have lots of core classes for which we need not go through
the symbol to get the type:

  ObjectClass.tpe -> ObjectTpe
  AnyClass.tpe    -> AnyTpe

I updated everything to use the concise/direct version,
and eliminated a bunch of noise where places were calling
typeConstructor, erasedTypeRef, and other different-seeming methods
only to always wind up with the same type they would have received
from sym.tpe. There's only one Object type, before or after erasure,
with or without type arguments.

Calls to typeConstructor were especially damaging because (see
previous commit) it had a tendency to cache a different type than
the type one would find via other means. The two types would
compare =:=, but possibly not == and definitely not eq. (I still
don't understand what == is expected to do with types.)
A couple additional simplifications.

As noted by reviewer.
Merge pull request #2574 from paulp/issue/3425

SI-3425 erasure crash with refinement members.
Merge pull request #2573 from retronym/ticket/7499

SI-7499 Additional test case for SI-7319
SI-7287 include all compiler sources in -src.jar
SI-7469 Remove deprecated elements in Java{Conversions,Converters}
SI-7003 Partest redirects stderr to log file

Some scalac output is on stderr, and it's useful to see that
in the log file, especially for debugging.

Adds a line filter for logs, specified as "filter: pattern"
in the test source.

Backslashes are made forward only when detected as paths.

Test alignments:

Deprecations which do not pertain to the system under test
are corrected in the obvious way.

When testing deprecated API, suppress warnings by deprecating
the Test object.

Check files are updated with useful true warnings, instead of
running under -nowarn.

Language feature imports as required, instead of running under -language.

Language feature not required, such as casual use of postfix.

Heed useful warning.

Ignore broken warnings. (Rarely, -nowarn.)

Inliner warnings pop up under -optimise only, so for now, just
filter them out where they occur.

Debug output from the test required an update.