Tests t01xx and t02xx

Test t0288 moved to disabled due to lack of Java interop.
Test t0273 fixed by relaxing double def condition: We only regard two
definitions that define the same name and have exactly the same signature
as double definitions. Previously, signatures that defined the same parameters
were also excluded.
Fix of t0438 - lambdas and eta expansion

Two fixes were needed

1) When typing a function value (x1: T1, ..., xN: Tn) => e, don't unconditionally issue an error
   if the expected function type arity is different from N. Instead, issue an error only
   if one of the types T1, ..., Tn is absent. The idea is that only then we need to
   consult the expected type for the parameter type. This allows to fix the problem later
   by an implicit conversion applied to the function value.

2) When eta-expanding, do not automtically take the arity of the expected function value as the
   arity of the generated lambda. Instead, take the method's arity, and copy method parameters
   into the lambda in case the arities are different.
Fix of t0504: _root_ not found

_root_ is now entered into an enclosing context.
Fix of t0591: implicitly

A debug assertion in implicitSearch gave a false alarm and was removed.
More tests

Added more tests which all pass, except for tests in disabled and pending.

t0695 went from pos to neg, because the kind of alias type used in t0695 is no longer supported.
Fix of t0786: view bounds

Previously, only implicit method types were eligible as views. This is too strict,
as it rules out view bounds. We now also consider types that derive from Function1.
The reason for not allowing any type is that this would cause us to check many more
types for applicability when an implicit view is searched.
Fix of t0774: empty file

Was previously wrapped in a

    package <empty>

but the resulting tree had no position, which caused a Typer assertion. If now
represented as EmptyTree.
More tests

which all pass.