Enable improved incremental compilation (name hashing)

The algorithm is stable enough to try it out for dotty build. It's
enabled in sbt and Akka already.
Eliminate JavaRepeatedParamClass

Having two repeated param classes (and two types) does not work,
because we need to maintain an overriding relationship between
Scala repeated param methods and Java repeated param methods (this
will be resolved later by bridges).
Adapt signature of <repeated>

so that sig(<repeated>[T]) = sig(Seq[T]).
Add varargs bridge methods

Distinguish translations between Java and Scala varargs methods
and add bridges where needed.
Fixed tpd.ref

Did not work for this prefixes and other singleon types before.
I.d. was generating a SelectFromType tree, which is wrong.
Fixed underlyingIfRepeated.

... and moved to TypeApplications.
Cleanup for varargs bridge.

Now inserts a bridge whenever a method overrides a Java varargs method.
This is conservative but safe. We might use a more aggressive scheme, as
the one in Scala 2, but it's not clear the win would warrant it.
Added test case for varargs bridges

Currently we cannot run this test automatically because the testing framework
does not know about .java files. It was run manually and verified that ElimRepeated
does was it is supposed to do (create a varargs bridge).
Merge pull request #141 from dotty-staging/transform/repeated

Transform/repeated
Merge pull request #157 from gkossakowski/name-hashing

Enable improved incremental compilation (name hashing)
Preparation for intgeration of RefChecks

Added OverridingPairs
Small tweaks here and there.
Add showDcl method for SingleDenotations
Added utility method: underlyingSymbol
Initial versions of Variances and CheckVariances

Not yet integrated or tested.
Removed CheckTrees

It was unmaintained and superseded by TreeChecker. The only needed bit,
escapingRefs, got moved to Typer.
Two variance-related fixes in Desugar

1) Type parameter accessors inherit their variance from the type parameter
2) Copy method parameter defaults are annotated @uncheckedVariance. This is
necessary because default methods will be checked for variance.
Enabled variance checking

Variance checking is now run as part of type-checking.

Fixed tests that exhibited variance errors. Added tests where some classes of
variance errors should be detected.
Updated comment
Added assertion that casts never go to singleton types.

Disabled for now, awaiting a fix.
Merge pull request #147 from dotty-staging/transform/variance

transform/variance