SI-6556 Remove unneeded workaround in erasure.

In fb6e687, a workaround was added, described as:

> See SI-6556. It seems in some cases the result constructor
> type of an anonymous class is a different version of the class.
> This has nothing to do with value classes per se.
> We simply used a less discriminating transform before, that
> did not look at the cases in detail.
> It seems there is a deeper problem here, which needs
> following up to. But we will not risk regressions
> in 2.10 because of it.

I was expecting an arduous investigation into this,
but happilly the underlying problem was already solved
in the fix for SI-6648 (1587a77e). (Chalk up another
win for libscala's scala-hash!)

This commit escalates the logging to an assertion.
It also reverts the other change in fb6e687,
which introduced a case for RefinedType, which are
not needed to pass pos/t6556.scala.
Merge pull request #1978 from retronym/ticket/6556-2

SI-6556 Remove unneeded workaround in erasure.
Deprecated the read* methods in Predef.

For hopefully obvious reasons. These are little used and
absolutely unnecessary to be in global namespace, especially
methods with weird ad hoc semantics yet tempting names such
as readBoolean().
Made ArrowAssoc and Ensuring implicit classes.
Removed more deprecated methods in Predef.

And updated the many tests which finally had to let go of
unqualified exit and error.
Address scaladoc test failures.

And restore stub non-implicit versions of former Predef methods
since they need to be deprecated for those cases where the names
were referenced directly.