Separating Scala Actors from the Scala Library.

Scala actors are now in scala-actors.jar. Changes that were done are:
 - Fixed partest to include actors library for various test usages
 - Created the entry for the new jar in build.xml
 - Added maven entries for scala actors

Review by: @jsuereth
Tree adjustments.

I noticed that if we gave Ident a "qualifier" method which is
always EmptyTree, a whole bunch of code could be simplified.

A transparent subclass of Apply which preserves the source
level "new" a little longer than never.

Since productPrefix is tied up in reification - and oh I
detest this "String"-based programming, we shouldn't have to
wait until everyone learns this independently to change it -
I added "printingPrefix" to Tree, which defaults to
productPrefix but can be changed without breaking reify.
Overhaul of NodePrinters.

Drawing on the previous, a half-decade overdue overhaul of
NodePrinters.  Now with colors if you like colors.

% scalac -Xprint:all -Yshow-trees -Dscala.colors a.scala

Am heading toward general purpose color configuration.
Chill out repl ctrl-char filter.

So colors can come through unscathed.
Merge remote-tracking branch 'adriaanm/ticket/5189' into develop
Merge remote-tracking branch 'vjovanov/actors-move' into develop
Finally did something about broken irrefutability.

The parser has always been confused about tuple patterns in
for comprehensions.  It thinks it can fail to recognize an
irrefutable pattern and have it removed in refchecks, but it
is sadly mistaken, because the unnecessary filter has a tendency
to fail the compile in typer.

Look more intently for irrefutable patterns and don't insert
the unnecessary filter.  Closes SI-5589, SI-1336.
Discovered filter was still being generated.

Rather than withFilter, for a subset of for comprehension structures.
Not sure if this was somewhat by design - only seems possible because
refchecks was only looking for nme.filter, not nme.withFilter, so
perhaps this was intended as some secret irrefutability backchannel?
Really have to document that sort of thing if it's intentional.  I
assumed it wasn't and unified everything.
Spiced up the irrefutability tests a bit.
Test cases closes SI-4574.

Looks like I got that irrefutability bug too.
regression on old patmat -- warning on new patmat
TODO note: stricter unapply type list

when an unapply returns Option[T] where T is some ProductN, does that mean the unapply
returns 1 result, i.e., that T, or did it mean to return N results?
to disambiguate, falling back to stricter spec-adherence, which requires T be exactly TupleN for N results

for now, allow extractor result to be any product, not just tuple
label-based translation of matches
tailcalls support for jumpy vpm
specialize symbols for labeldef params
typer synths Function impl for selector-less match

typedMatchAnonFun notes:

need to duplicate cases in  before typing them or symbols get all messed up
also, need deskolemize GADT skolems

fixerUpper nests the top-level definitions generated in the match under context.owner,
since we use the same translator (created using MatchTranslator(this)) for translating apply's and isDefinedAt's match,
we have to re-jig the owner-structure
(we can't create a MatchTranslater for each method individually, unless we set up their whole owner-structure first)

in patmatvirt:
- simplified default case gen (no need for a Casegen instance)
- using CASE | SYNTHETIC to detect generated matches (for switches) and avoid typing them endlessly
  more uniform, and necessary for new-style anon Function class instance gen for matches
test case for the bane of my existence
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
pack types of each branch of an if 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
pack type for translated match -- necessary?