Refine merge of nullary and parameterless denotations.

Previously, two denotations with types => T and ()T could not
be merged, only their types could be, but then the denotation
would no longer be a SymDenotation. We now treat the two types
as equivalent so that it will select the symbol in a subclass.
This fixes a problem where, once overrding pairs are made to
work (see following commit), in core/Types we get an error "overriding
final method "hashCode".
Fix OverridingPairs

OverridingPairs had several bugs which caused pairs to be lost, which caused
missing overrides checks. Fixing OverridingPairs revealed several test failures
(and a problem in Synthetics generation which was fixed in the last commit).
Tests that became negative are all moved into neg/overrides.scala, and the
original versions in pos were fixed.
Refactored OverridingPairs

to make it easier to understand.
Fine-tuning override errors for syntehtic companion objects

These may raise real errors, so we cannot exclude them from
overriding pairs a priori. But we can avoid reporting any
errors if other override errors were reported previously for
the same class.
Fixes for type argument handling.

(1) Type arguments now get a coordinate.
(2) They are labeled Override

(2) avoids having to special case TypeArgs in OverridingPairs.
Some fixes to override checking in RefChecks.

`override` was not recognized at all on types.
When printing uninstantiated type variables, include their bounds.
Try to avoid overconstraining when comparing and/or types

See comments in eitherIsSubType for an explanation what the
problem is. Some test cases are in subtyping.scala
Moved pending tests that work into pos and neg.

One test (t2613) required lifting a hard recursion limit in findMember
(used for debug only, will be removed in the future). The same test
also requires -Yno-deep-subtypes to be reset, so it's in pos_special
instead of pos.
Fixes of reviewers comments.
Add option to optimize the JVM for short-runnning applications

Ideally, dotc should reuse a resident compiler and we should not fork sbt
for every task. Until this happens, this option is useful for
development. Fixes #222.

Usage:
$ sbt -DOshort=""
$ ./bin/dotc -Oshort foo.scala
Merge pull request #234 from smarter/try/jvm-tuning

Add option to optimize the JVM for short-runnning applications
Merge pull request #233 from dotty-staging/cleanup/tests

Moved pending tests that work into pos and neg.
Merge pull request #229 from dotty-staging/change/typevar-printing

When printing uninstantiated type variables, include their bounds.
Check that overriding members refine the types of overridden ones.

Somehow this was lost in porting (or was this done somewhere else
in scalac?).
Restored accidentally deleted test code.
Fixed typos
Merge pull request #230 from dotty-staging/fix/and-or-subtyping

Try to avoid overconstraining when comparing and/or types
Merge pull request #228 from dotty-staging/fix/overriding

Fix/overriding
Enable pos/overrides.scala in tests