Simplify subtying test
Fix subtyping of types without symbols
Fix treatment of by name functions

By-name functions like `(=> T) => T` were not treated correctly before.
Witness the disabled `-Ycheck:gettersSetters` for transform/TreeCheckers
in thge test suite. This commit changes the scheme how => T types are treated
and fixes the problems with by-name functions.
Added a test for by name functions
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
merge fixes: extract typedCase to be reused in TreeChecker.