Fixes in TypeTestsCast

1) qualifier class was wrongly computed
2) Case where test or cast argument is primitive was not fully handled.
Fix in underlyingClassRef

Made implementation conform to doc comment.
Disable enclding in retyping.

We would like to be able to define unencoded symbolic names in trees computed by the compiler.
The patch avoids their accidental encoding.
Enabling primitive operations in ReTyper

The idea is that primitive operations do not have a symbol, but
when applied have directly a MethodType. Such operations will be
generated in Erasure for array ops. The patch allows retyping of
such operations.
Avoid writing ExprTypes in result types of DefDefs
Better error diadnostics in TreeChecker.

On type error, show the source line where the failure occured.
Fixes to erasure to make -Ycheck:all work.

Main change: Introduce JavaArrayType as a new type constructor
for Java erased array. Translate all methods of Array class during
erasure to primitive operations on arrays.

Some other small fixes for more localized problems.