Simplify subtying test
Fix subtyping of types without symbols
Fix #196. Errorneus tail-optimization of inner DefDef's

Unless a DefDef is a result of desugaring an exception handler it shouldn't be optimized by tailrec.

There's a potential improvement here: to detect that a DefDef
 is a label def which itself is called only in tail position.

 This is a requirement to implement #194
Merge pull request #197 from dotty-staging/fix/tailrec-defdef

Fix #196. Errorneus tail-optimization of inner DefDef's
Merge pull request #199 from dotty-staging/transform/lambdalift

Transform/lambdalift
Extracting TypedCases to be reused for typedTry
TailRec now handles Try with Ident-handler
New kind of EmptyTree for indicating exception selector in Try blocks.

Simplifies a lot handling of Try blocks in patmat and in tailrec.
Typer should leave inline exception handlers inline.
Fix TailRec to handle inline exception handlers and non-trivial not-inlined
Fix Erasure.Boxing isBox and isUnbox

Box& unbox methods are defined in companion objects.
Add Patmat to Context
Stop patmat from using selector pos for Try.

It doesn't exist.
Also use symbol with 'ex' name as selector for exceptions
Flag dotty deviation for return type which is part of cake.
Make typing of Try nodes idempotent
Rewrite assignType for Try

After erasure was always wrong(didn't include the type of handler).
Now it's able to use both Closures and desugared Math nodes.
Restructure Try node.

Now Try node always has cases as handlers.
In case handler is an Ident of type Throwable => T
than it's desugared to a CaseDef during parsing.
Get rid of ExceptionHandlerSel.

It's not used anymore as superseded by previous commit.
Postponing desugaring of Try nodes.

Instead of desugaring in parser desugaring is now done during desugaring.
Print whole TreeTransform name in Ycheck and Xprint