Update to Scala 2.11.0-RC3.

This was needed for running dotc.Main using latest Scala IDE 2.11 release.
Merge pull request #93 from namin/update-scala

Update to Scala 2.11.0-RC3.
Merge pull request #101 from dotty-staging/transform/erasure

Transform/erasure
Reworked phases.

Aims

1) next/prev should be context-independent. Phase now stores
its ContextBase in a field.

2) More robust handling of phaseNamed and the phase properties
erasedTypes, flattened, refchecked, etc. These were previously
dependent on when the first call to any of these methods was made, which
led to a data race.

There is now an init method in phases which centralizes all necessary intialization.
It is checked that a phase is initialized only once.
Fix for Context#withPhase
Fixing completion phase

A completer for a lazytype should run in the first phase
of the validity period of the denotation that gets completed.
Fix in NamedType#denot

Need to update checkedPeriod when new denotation is computed.
Make primitive conversions work also for non-numeric types

If the arguments to a primitive conversion are not both numbers, the
conversion will either return the argument itself, or throw a ClassCastException.
Added dummy pattern matcher

at the place forseen for the real pattern matcher, so that following
transformations do not have to deal with patterns.
Avoiding type applications after erasure.

Methods appliedTo and translateParameterizes only apply before erasure (except on arrays).
Also, computation of a potential expensive yet redundant lub in assignType(SeqLiteral) is
avoided.
Adapting containsPhase to phase groups

A list of names contains a phasegroup if it contains
any phase in the group.
Add -Ycheck capability

Right now uses a super-rudementary tree checker: we only check that every tree
has a type.
More fixes and tests for easure.

1. Object_isInstanceOf/asInstanceOf are no longer parameterized methods (seems there's
no point in writing x.$asInstanceOf[T]() instead of the shorter x.$asInstanceOf[T]).

2. Array constructor's type is unchanged (the previous rules erased it to

    def <init>(len: Int)Object

which is clearly wrong).

3. indexing needs to be disabled.

4. typedTypeApply needs to keep type applications that apply to type tests and type casts as well as
array ops.

5. References to self-ids are typed ThisType(cls) before erasure; are replaced by This(cls) references
during erasure.
Cleanup of bad merge.