[vpm] fix half of my existential troubles

no need for the clunky repackExistential
pack the type of each case instead, since the skolems we've created shouldn't last beyond the case anyway

this way we don't end up with fresh, incompatible, skolems for every case, but a neatly packed existential
[vpm] pack types of if branches before lubbing

this way we don't end up with fresh, incompatible, skolems for every branch, but a neatly packed existential
you get much nicer lubs this way -- threw in a fast path (I hope) that avoids lubbing when unnecessary (same types)

since lub isn't robust enough to deal with the result of packedType,
and we only really need the trivial case (S =:= T), special case it for now

... don't pack in ifs after typer, also only when virtPatmat
Prepared actors hierarchy for migration.

Internal nodes added so methods relevant to akka can be overridden.

Review by: @phaller
Merge remote-tracking branches 'vjovanov/duration-cleanup', 'adriaanm/topic/virtpatmat' and 'vjovanov/actor-hierarchy' into develop
Revert irrefutability commits.

Temporary reversion of irrefutability commits in interests
of stable milestone.  Expect to restore shortly.
Tweak to string coloring.

Concluded String->String would be more useful more often.
Lots of tedious warning and tree printing work.

Fewer deprecation warnings, prettier trees, prettier
symbols, more polished error messages.

Oh the interesting people you meet handling warnings, I
feel sorry for you all that I get to do it all the time.
One of the characters I met invited me into the "Dead Code
Society" and that's what I'm doing on Tuesdays now.  No of
course you haven't, it's a SECRET society.
Fix for stability failure.

Pattern matcher! Totally unrelated to irrefutability, the pattern matcher
at some point stopped sorting its lookup switch cases, and the butterfly's
wings flapped enough to swap two cases.  Now they're sorted in ascending
order like they're supposed to be.
Restore irrefutability commits.

This reverts commit d8ba5d091e5641553b438ef9930a6023a2709dcd.
Overhauling mixin.

Feel the bugs falling away.
Allows now private primary constructors in value classes.
Merge branch 'master' into feature/pc-execution-contexts
Fixed SI-5063.
Clarifying MethodSynthesis.

Tried to paint a picture of how one might synthesize an implicit
method to accompany an implicit class.
Fixed test cases.
Fix for SI-5580.

Lub explosions mean we can't expect sane types in error messages.
Defend against the insane.
Overhaul of JavaConver{sions,ters}.

Initially motivated by SI-5580, then just motivated.  I broke up
the opaquely named JavaConversions and JavaConverters into the following
traits encapsulating some permutation of

  { to java, to scala, bidirectional }
  { wrappers, decorators }

I named everything consistently in terms of either Wrappers
or Decorators.  Decorators install those asJava/asScala methods
onto collections of the right kind; Wrappers hide the process.

JavaConversions then reduces to an object which (ill-advisedly)
extends both WrapAsJava and WrapAsScala.  And JavaConverters is
an object extending DecorateAsScala and DecorateAsJava.  However
other more clearly named vals exist in the newly created
scala.collection.convert package object.

  val decorateAsJava  = new DecorateAsJava { }
  val decorateAsScala = new DecorateAsScala { }
  val decorateAll     = new DecorateAsJava with DecorateAsScala { }
  val wrapAsJava      = new WrapAsJava { }
  val wrapAsScala     = new WrapAsScala { }
  val wrapAll         = new WrapAsJava with WrapAsScala { }

So for instance to import asScala decorators, and only those:

  scala> import scala.collection.convert.decorateAsScala._
  import scala.collection.convert.decorateAsScala._

  scala> new java.util.ArrayList[String].asScala groupBy (x => x)
  res0: scala.collection.immutable.Map[String,scala.collection.mutable.Buffer[String]] = Map()

I propose we put those vals or a subset of them in the scala
package object rather than way down in scala.collection.convert.
Merge branch 'issue/SI-5580' of /scala/trunk into develop
An illustrative delayedInit test.
disable version numbers on windows, they're broken.