today's progress

1) Removed the need for asInstanceOf
2) Valium helper (ValiumDefs, ValiumInfo) separated from valium phases
3) Unified logging behind a compiler option
4) Implemented the injection phase synchronously for symbols and types
5) Made adaptation in the coercion phase compile
6) Started playing with the adaptation phase - removed some code and logging,
   tomorrow will see whether all the tests still pass
a simple coerce test works
updates to the algorithm based on Vlad's feedback
outlining the conversion transformation
valium class verification phase
let's run as close to erasure as possible

In order not to provoke other phases by emitting partially valid trees.
We can't run after explicitouter, because erasure is hardcoded to run
right after it.
method signature transformation
a todo for verify
thinking more about convert
better names for ValiumInfo helpers

* @value has become @unboxed
* isValue is now isUnboxedValiumRef
* isValiumRef is now isBoxedValiumRef

This not only fixes the conflict between Symbol.isValue and RichSymbol.isValue
(the primary motivator for the refactoring), but makes things much easier
to understand. For example, compare one of the most indicative snippets:

   if (oldTpe.isValue) unbox2box else box2unbox // before
   if (oldTpe.isUnboxedValiumRef) unbox2box else box2unbox // after
logging now goes through the standard -Ylog mechanism
some more or less stable progress
tree.tpe != null assertions are now unit.error's
removes dead code in valium-coerce
box2unbox, unbox2box and UnboxedClass are stripped off their magic after coerce
introduces ValiumPluginComponent with nifty shared features
formalized the rewriting
stricter post-convert checks
wip tree conversion