Context escape detection.

During creation of each of DottyTests context is stolen from test and a
WeakReference for it is created.
After running all tests references are examined to detect if any of them
has leaked.
Enable javac lint deprecation&unchecked warnings.
Allow to provide parent Context for Driver.process
Add support for specifying 'all' for -Xprint, -Yskip, etc
Merge pull request #127 from smarter/add/all-phases

Add support for specifying 'all' for -Xprint, -Yskip, etc
Merge pull request #119 from DarkDimius/leaks

Context escape detection.
Constructors stub
CollectEntryPoints.

Collect entry points for backend.
Previously this was done by cleanup.
Helper method to get all members of type.
Fix error in box\unbox logic.

TermRef's for primitive types are of primitive-type.
Fix TailRec to use Label flag.

Conflicts:
	src/dotty/tools/dotc/backend/jvm/BCodeBodyBuilder.scala
	src/dotty/tools/dotc/core/Definitions.scala
Definitions used by backend.
Fix invalid flags in lazy vals.
Better error message if position of tree isn't set.
Merge pull request #124 from DarkDimius/backend-backport2

Backend backport2
Erasure of term refs without symbols

Need to allow for possibility that term ref does not have a symbol (e.g. termrefs with union prefixes do not
always have symbols).
Fix withSymAndName

There was a mismatch between symbol and signature before.
Removing duplication between Any and Object methods

We cannot have same named methods defined in Object and Any because after erasure
the Any references get remapped to the Object methods which would result in a double binding
assertion failure.

Instead we do the following:

 - Have some methods exist only in Any, and remap them with the Erasure denotation
   transformer to be owned by Object.
 - Have other methods exist only in Object.

To achieve this, we synthesize all Any and Object methods; Objetc methods no longer get
loaded from a classfile.

There's a complication with getClass. We need to reconsider what the best treatment of getClass is.
Right now there's too much magic going on for my taste. It might be better to leave getClass on Object only as it
is in Java, forget about the special treatement of its type, and have another getClass like method in
an decorator on class Any. That could produce the right types and could also work for primitive types.
Fixing stillValid code

We need to take into account that symbols can can have non-class owners yet still be valid.
Previously such symbols were treated as invalid. Now they are valid if their owners are valid.

The commit supersedes

29976d7922c5c3e99f0469e3db1

which got reverted.
Added a unique identifier to trees.

Used for debugging purposes for now. Might be used for replaying IDE interactions later.