[nomaster] run mima both ways, filter out failures

Using @gkossakowski's contribution to mima (in 0.1.5-SNAPSHOT),
make sure bc.run doesn't fail by filtering out all binary incompatibilities.

Each subsequent commit will comment out the filters it makes irrelevant,
until we only need to filter out permitted binary incompatibilities.

We only allow binary incompatibilities in scala.reflect.internal.
[nomaster] Revert "Fixes SI-6521, overrides Range#head to be faster"

This reverts commit a557a973608a75c7a02f251bbcf49fe6f6b6655e.

This is necessary to maintain binary compatibility with 2.10.0.

Mima says:

    matchName="scala.collection.immutable.Range.head"
    problemName=IncompatibleResultTypeProblem

The bridge method appeared because result is now Int, whereas
the super-method's result type erases to Object
[nomaster] Revert "SI-4664 Make scala.util.Random Serializable"

Also revert "SI-4664 [Make scala.util.Random Serializable] Add test case"

This reverts commit 0b92073a38f9d1823f051ac18173078bfcfafc8a.
This reverts commit 2aa66bec86fd464712b0d15251cc400ff9d52821.

This is necessary to maintain binary compatibility with 2.10.0.
[nomaster] duplicate tailImpl as a private method

Reworks d526f8bd74.
This is necessary to maintain binary compatibility with 2.10.0.

    matchName="scala.collection.mutable.MutableList.tailImpl"
    problemName=MissingMethodProblem
[nomaster] bring back SerializeStart from fa3b8040eb

This is necessary to maintain binary compatibility with 2.10.0.
[nomaster] can't add new class BatchingExecutor

This is necessary to maintain binary compatibility with 2.10.0.
[nomaster] refactor AdaptedForkJoinTask, uncaughtExceptionHandler

Inlined AdaptedForkJoinTask, made uncaughtExceptionHandler private[this].

This is necessary to maintain binary compatibility with 2.10.0.
[nomaster] Revert "cosmetic renamings in runtime reflection"

This reverts commit 0429f0fd9224499cd8b606490d04b1a8dcffbca8.

This is necessary to maintain binary compatibility with 2.10.0.
[nomaster] inline importPrivateWithinFromJavaFlags into SymbolTable

This reworks 02ed5fb so that we don't change JavaUniverse's super classes.

This is necessary to maintain binary compatibility with 2.10.0.
[nomaster] Revert "SI-6548 reflection now correctly enters jinners"

This reverts commit 54a84a36d5b435a787d93ca48d45399136c7e162.

This is necessary to maintain binary compatibility with 2.10.0.

run/t6989.check had to be updated as it also (indirectly) tested SI-6548

Conflicts:
	test/files/lib/javac-artifacts.jar.desired.sha1
	test/files/run/t6548.check
	test/files/run/t6548/Test_2.scala
Merge pull request #2103 from adriaanm/bin-compat

Forward and backward binary compatibility between 2.10.0 and 2.10.1-RC1
re-align 2.10.x's pattern matcher with master's

The diff was mostly code cleanup, so most of that was propagated from master to 2.10.x.
The remaining diff is encapsulated in compatibility stubs (see below).
(There was also the on/off potential for the 2.10.x "new" pattern matcher.
 The old one is gone in 2.11, so no turning off new patmat, of course.)

The stubs:

```
protected final def dealiasWiden(tp: Type)   = tp.dealias                       // 2.11: dealiasWiden
protected final def mkTRUE                   = CODE.TRUE_typed                  // 2.11: CODE.TRUE
protected final def mkFALSE                  = CODE.FALSE_typed                 // 2.11: CODE.FALSE
protected final def hasStableSymbol(p: Tree) = p.hasSymbol && p.symbol.isStable // 2.11: p.hasSymbolField && p.symbol.isStable
protected final def devWarning(str: String)  = global.debugwarn(str)            // 2.11: omit
```
[refactor] move PatternMatching.scala to transform.patmat
[refactor] type analysis consolidation

move instanceOfTpImplies out of CodeGen into TypeAnalysis
[refactor] prepare migration from Cond to Prop

There's no change in behavior.
Remove `modelNull` boolean in favor of subclassing.
drop Cond in favor of Prop

This brings the optimizations and the analyses closer together.

In the future we may consider using a solver in the optimizations.
For now, implication is checked ad-hoc using hash-consing and equality/subset tests...

NOTE: prepareNewAnalysis resets said hash-consing, so must be
called before approximating a match to propositions
[refactor] make hash-consing more robust
[refactor] better name for symbolicCase
[refactor] move some logic-related code
[nomaster] Revert "Added a Swing PopupMenu wrapper"

This reverts commit bdff881f8a15d4de0c0ff2aa2427f0d8244d2d42.

This is necessary to maintain binary compatibility with 2.10.0.