Fix of pos/t2454

"_" type paraeters need to be given fresh names.
Refinements in diagnostics

1) glb/lub's are reported to subtyping printer instead of typr
2) Null arguments of function protos are printed with their types
   (views sometimes are transformed into these).
Reporter fix

This fixes a bug introuced by 7754c1ee6c4230e424fd99b820471dbd2c1c8390.

The reporter state need to be reset undconditionally in a tryWithFallback.
Fix of t2504

Another problem where we need to insert an implicit on the result type of complex operation.

Two additions: (1) If adapt fails, we now try with a weaker FunProto without result type, thus
allowing for an additional implicit cpmversion on the result. (2) An Application in a committable
context will not fail if the result type does not match the expected one. The problem will be
simply deferred in that case.
Added t25xx tests
Fix of t2591.

Needed to wrap a dummyTreeOfType in a TypedSplice to prevent re-typechecking. (In fact, the
"tree without pos" check revealed a deeper problem: DummyTrees of types could be typed again,
but without the surrounding TypedSplice, the originally stored type would be forgotten and Null
would be returned.
Fix of t2660.

Auxiliary constructors need to be wrapped in the type parameters of the primary constructor.
Otherwise they will not take part in type inference.
typedTyped needs to maintain Mode.

The first part of a type ascription e: T can be a pattern or an expression. The mode
has to be kept depending on what it was on the outside.
tests t26xx
Triage of tests t27xx-t29xx.
Reclassifying tests
Always ignore type in selectionProto

The type of a SelectionProto needs to be ignorable because there might be an
implicit conversion on the selection. E.g.

    implicit def a2b(x: A): B = ???
    val x: { a: A } = ???
    val b: B = x.a

This was previously handled by allowing implicit conversions in compatibility checks.
But it turns out we can afford to ignore the type of a selectProto and unignore on ambiguities
later.
Simplify result handling in FunProto.

Following the example of SelectionProto, we now always hide the result in a FunProto
behind an IgnoreProto. This avoids a special case retry with a weaker FunProto in
tryInsertApplyOrImplicit.
Avoid classtype checking for refinements.

In a refinement type T { R } we do not need T to be a class. But analyzing the refeinement
type will create a temporary class type. This refinement class has to be treated specially in
what concerns parent types.
Merge pull request #136 from dotty-staging/fix/systematic-prototypes

Fix/systematic prototypes