Merge pull request #1904 from JamesIry/SI-5568_2.10.x

SI-5568 Fixes verify error from getClass on refinement of value type
Disable MIMA in master.

Binary compatibility checks do not make sense in master because
there's no base point against which we should check.
SI-6902 Check unreachability under @unchecked

Only exhaustiveness checking should be disabled if the
scrutinee of a match as annotated as `: @unchecked`.
This was the pre-2.10.x behaviour.

This also fixes a variation of the closed ticket,
SI-6011. The exhaustiveness check is needed to
safely fallback from emitting a table switch if
duplicate cases are detected.
SI-6439 Avoid spurious REPL warnings about companionship

`val m` isn't a companion of `trait m`, check the pair of
eponymous symbols are a ((class|trait), object) pair before
emitting the warning.

In order to correctly check this one a type alias is involved,
`definedSymbols` must avoid normalizing through type aliases.
AFAICT this is an improvement to the other clients of that Map,
one such power mode progression is demonstrated at the end
of the test case.
Remove the term "pimp" from the repository

Small terminology change aimed at improving inclusion.
Grammatical fix
Addressing warnings.

 - SI-6923 uncovered a few valid warnings, these have been
   addressed.
 - A pair of "catches all throwable" warnings appeared; one
   of the is spurious and the subject of SI-6994.
SI-6994 Avoid spurious promiscuous catch warning

It was being issued upon re-typechecking of a transformed
tree. Now we disable the warning post-typer.
Merge pull request #1926 from gkossakowski/disable-mima-in-master

Disable MIMA in master.
Merge pull request #1915 from adriaanm/ticket-6942

SI-6942 more efficient CNF conversion in patmat analysis
Merge pull request #1908 from retronym/ticket/6979

SI-6979 Small optimization in lub
SI-6666 Restrict hidden `this` access in self/super calls.

Detect when classes (user authored or compiler generated)
local to a self or super constructor argument would require
premature access to the in-construction instance.

The same restriction applies for classes and objects; for objects,
the premature access would result in a null via MODULE$ field.

A residual error has been lodged as SI-6997.

I'd like to remove calls to `Symbol#outerClass` (which relies on
the flaky flag INCONSTRUCTOR, see my comments in the JIRA issue
for more discussion) from `LambdaLift` and `ExplicitOuter`, and
instead use the stack of active self/super calls to know when to
skip an enclosing class. That will obviate that flag.
SI-6811 Remove scala.xml.include.sax.Main
SI-6811 Move scala.util.{automata,regexp} ...
... to scala.xml.dtd.impl and make it private[dtd]
SI-6231 Report unsupported free var capture by a trait.

If a class nested in a trait captures a free variable from
the enclosing scope of the trait, the transformation to
add that variable to the `init` method of the trait
implementation class happens *after* the abstract trait
interface has been extracted. This would lead to a crash
when trying to find the corresponding interface method.

This commit detects this situation and reports an
implementation restriction. The enclosed test case
shows a workaround.

To lift this restriction, LambdaLifter should add the getters
and make sure they end up in the trait interface. Looks like
Martin tried this once:

    // LambdaLift.scala
    //
    // Disabled attempt to to add getters to freeParams
    // this does not work yet. Problem is that local symbols need local names
    // and references to local symbols need to be transformed into
    // method calls to setters.
    // def paramGetter(param: Symbol): Tree = {
    //   val getter = param.newGetter setFlag TRANS_FLAG resetFlag PARAMACCESSOR // mark because we have to add them to interface
    //   sym.info.decls.enter(getter)
    //   val rhs = Select(gen.mkAttributedThis(sym), param) setType param.tpe
    //   DefDef(getter, rhs) setPos tree.pos setType NoType
    // }
    // val newDefs = if (sym.isTrait) freeParams ::: (ps map paramGetter) else freeParams
 Fix SI-6932 by enabling linearization of callback execution for the internal execution context of Future
Removed class files.

Someone checked in a pair of .class files.
SI-6932 Remove Batchable trait plus minor clean-ups
SI-5824 Fix crashes in reify with _*

Reification crashes if "foo: _*" construct is used. This happens besause type tree is represented either with TypeTree, or with Ident (present case), and `toPreTyperTypedOrAnnotated' only matches of the former. The fix is to cover the latter too. A test is included.
Fixed typo in ProcessBuilder scaladoc.

ProcessBuilder creation sample code did not complie due to an error
in import statement.