SI-6548 reflection now correctly enters jinners

When completing Java classes, runtime reflection enumerates their
fields, methods, constructors and inner classes, loads them and
enters them into either the instance part (ClassSymbol) or the
static part (ModuleSymbol).

However unlike fields, methods and constructors, inner classes don't
need to be entered explicitly - they are entered implicitly when
being loaded.

This patch fixes the double-enter problem, make sure that enter-on-load
uses the correct owner, and also hardens jclassAsScala against double
enters that can occur in a different scenario.

Since the fix is about Java-compiled classes, the test needs *.class
artifacts produced by javac. Therefore I updated javac-artifacts.jar to
include the new artifacts along with their source code.
cosmetic renamings in runtime reflection

initClassModule => initClassAndModule
createClassModule => initAndEnterClassAndModule
SI-6795 Adds negative check for "abstract override" on types in traits

"abstract override" shouldn't was being allowed on types in traits but the result
made no sense and the spec says that shouldn't be allowed.
SI-6795 Simplify errors related to "abstract override" on type members

Instead of saying "only allowed on non-type members of traits" use
separate errors for "not allowed on types" and "only allowed on members
of traits"
fixes incorrect handling of Annotated in lazy copier
SI-6809 Forbids deprecated case class definitions without parameter list

This has been deprecated since at least 2.7.7, so it should be good to go.
Cleanup MemberLookup. Better explain ambiguous link targets.
Remove dead code from `Global`.

This is clearly dead-code (`phaseTimings` is not referred
anywhere else in `Global.scala`) and it's safe to remove it since
`phaseTimings` is private.

This dead-code is leftover from 317a1056.

Review by @paulp.
update mailmap
Deskolemize type skolems before pickling.

Lex Spoon noticed what appeared to be duplicate symbols
in methods read from classfiles. The duplicates turned out
to be type skolems, which because they're not supposed to
be pickled in the first place (right?) are unpickled
without turning back into skolems. Now pickler is careful
to deskolemize before writing anything down.

The effort implied by test case is more than can possibly
be justified for this obscure compiler corner, but I'll
chalk it up to reflection exploration.
adds scala-reflect.jar to MIMA in ant
scaladoc Template: remove duplicate code and several usages of Option.get.
Merge pull request #1776 from adriaanm/mailmap-2.10.x

update mailmap
Merge pull request #1707 from retronym/ticket/5390

SI-5390 Detect forward reference of case class apply
Merge pull request #1780 from scalamacros/topic/mima

adds scala-reflect.jar to MIMA in ant
Deprecate `scala.tools.nsc.Phases` because it's dead-code.

The 0a2022c made `scala.tools.nsc.Phases` dead-code. It's not private
so it got deprecated instead of being removing right away.

Review by @paulp.
Integrate isNameInScope in Contexts.

This was a partial implementation of symbol lookup used for
short-circuiting some expensive tests. After rescuing lookup
from typedIdent, it should only be a wrapper around
lookupSymbol (as it now is.)
Optimization in SpecializeTypes.

Avoid time traveling to find type parameters which will
never be there.
PluginComponent contributes description to -Xshow-phases.

In Global, SubComponent is called a phase descriptor, but it doesn't
actually have a description.  (Phase itself does.)  This fix adds
a description to PluginComponent so that plugins can describe what
they do in -Xshow-phases.

Elliptical descriptions

Exploded archives

Plugged-in partest

Roundup at the Little h!
Merge pull request #1779 from paulp/pr/no-pickle-skolems

Deskolemize type skolems before pickling.