Removed "core classes first" logic.

I see no evidence this is necessary, and it should be wildly
uncontroversial that if we can lose this, we should. Hardcoded filenames
which don't even exist in the repository ("StandardEmbeddings.scala",
"EmbeddedControls.scala") have no place in compiler source. If some
portion of this is believed necessary then better evidence of that
should be offered.

Review by @lrytz.
Optimization in List.

Mark all the closure-accepting methods which have implementations
within List as @inline final so the closures can be eliminated.
(All the methods are effectively final anyway, as Nil and :: are
the only possible subclasses.) And compromise with respect to
the inlining of inherited methods by overriding foreach (responsible
for over 300 closures) with an inlinable implementation.

Review by @gkossakowski.
Refined isEffectivelyFinal logic for sealedness.

If the enclosing class of a method is sealed and has only final
subclasses, then the method is effectively final in the sealed class if
none of the subclasses overrides it. This makes it possible to inline
more methods without explicitly marking them final.

Note that the test doesn't fail before this patch due to SI-6142,
a bug in the optimizer, but here's a bytecode diff to prove it:

  @@ -16,8 +16,10 @@ public final class Test$ {
       Code:
   : getstatic                      // Field Foo$.MODULE$:LFoo$;
   : invokevirtual                  // Method Foo$.mkFoo:()LFoo;
  +: pop
   : bipush
  -: invokevirtual                  // Method Foo.bar:(I)I
  +: iconst_1
  +: iadd
   : ireturn

And the test in neg, which is manually made to fail due to the absence
of inline warnings, correctly refuses to inline the methods.

Review by @dragos.
Removed restriction on final vars, SI-2418.

The original fix for SI-2418 excluded final vars entirely, but
the problem was not final vars per se, but the emission of ACC_FINAL
in combination with ACC_VOLATILE.  Since vars never get ACC_FINAL
now, this is no longer an issue.
A missed checkfile for pull #949.

The message from the buildbot that the build failed is really,
really, really hard to see if there's any discussion.  Can it
be instructed in the ways of markdown so it can be red/green
and bigger?
Renaming files to please ant.

"If the names don't fit, do not commit!"
Merge 2.10.x

Conflicts:
	src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala
	src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
	src/compiler/scala/tools/nsc/typechecker/Infer.scala
	test/files/neg/unchecked2.check
SI-4023 Testcase closes issue with inner classes/getDeclaredClasses
Merge pull request #968 from paulp/topic/remove-core-classes-first

Removed "core classes first" logic.
Merge pull request #1006 from adriaanm/master

merge 2.10.x into master
Merge pull request #992 from paulp/topic/list-inlining

Optimization in List.
Merge pull request #1009 from soc/SI-4023

SI 4023 Testcase closes issue with inner classes/getDeclaredClasses
SI-6064 Add method contains to Option.

The Option API more or less mirrors the Collection API,
but it seems that somehow this method has been forgotten.

Review: @axel22
Fixes typo in Throwable compiler warning
Merge pull request #1000 from paulp/topic/sealed-is-final

Refined isEffectivelyFinal logic for sealedness.
Merge pull request #1001 from paulp/issue/2418

Removed restriction on final vars, SI-2418.
Merge pull request #1014 from soc/throwable-warning

Fixes typo in Throwable compiler warning
Fix for SI-6154, VerifyError originating in uncurry.

Lhs still might be an Ident.  Miguel did all the work,
I just wrote it down in code form.
Merge pull request #1007 from soc/SI-6064

SI-6064 Add method contains to Option.
Merge pull request #1021 from paulp/issue/6154

Fix for SI-6154, VerifyError originating in uncurry.