Fix a NSDNHAO in extension methods.

A bridge method, created when we override a method from
a superclass and refine the return type, was appearing
as an overloaded alternative. (`erasure` doesn't create
new scopes, so the bridges it builds are visible at
earlier phases.)

The problem was masked when compiling with specialization,
which *does* create a new scope, shielding the code in
question from the artefacts of erasure.

To fix the problem, we filter out bridge methods from
the overloaded alternatives returned by `.decl`, as would
happen internally in `.member`.
SI-4579 Yoke the power of lisp.scala as a stress for the optimizer.

The reported bug was fixed between 2.10.0-M1 and 2.10.0-M2.
Merge pull request #633 from retronym/topic/value-class-bridge

Fix a NSDNHAO in extension methods.
SI-5845 Advances the example from a crasher to an inference failure.

The inference failure itself seems like an instance of of SI-3346.

But dependent method types (which triggered the crash), can be employed
to avoid inferring the type constructor CC.

class Num[T] {
  def mkOps = new Ops
  class Ops { def +++(rhs: T) = () }
}

class A {
  implicit def infixOps[T](lhs: T)(implicit num: Num[T]): num.Ops = num.mkOps
  implicit val n1: Num[Int] = new Num[Int] { }
  5 +++ 5
}
don't check exhaustivity involving user-defined unapplySeq
handle approximating alternative of empty pattern
Merge pull request #635 from adriaanm/topic/virtpatmat

fixes for exhaustivity
Merge pull request #636 from retronym/ticket/5845

SI-5845 Advances the example from a crasher to an inference failure.
fix t5843
Implemented functionality to invalidate classpath entries, to enable incremental compiles.
Merge pull request #640 from odersky/topic/inkling

Implemented functionality to invalidate classpath entries
Merge pull request #634 from retronym/ticket/4579

SI-4579 Yoke the power of lisp.scala as a stress for the optimizer.
Merge pull request #638 from lrytz/wip/t5843

fix t5843
Partial redesign of incremental compiler invalidation.

We now do the right thing when packages are either newly created or deleted. Previously there was a problem when a new package was created inside a system package (and, unofrtunately, root is a system package). That's fixed now. We also approximate more tightly now when packages are newly created (iei the newly created symbol gets rescanned, instead of its owner).

Incremental class invalidation: dealing with empty package.

The compiler can now also invalidate the empty package. Previously, no invalidation was done because empty was identified with root, which is considered a system package.

(1) Fixed NPE when creating a new toplevel package in invalidation. (2) generalized interface to deal with multiple entries at a time.
Merge pull request #645 from odersky/topic/inkling-consolidated

Partial redesign of incremental compiler invalidation.
skipping unnecessary work in GenASM when emitting 1.5 classfiles
allows printing .icode files after any optimiz phase
Merge pull request #646 from magarciaEPFL/fixes

skipping unnecessary work in GenASM when emitting 1.5 classfiles
Merge pull request #649 from magarciaEPFL/icodeAfterAnyOptimizPhase

allows printing .icode files after any optimiz phase
Following the List apply fairy.