handles bottoms

We postulate that valium classes are final, so we sort of assumed that
we don't have to deal with subtyping polymorphism in valium-related expressions.
However we do, because there are nulls and nothings.

If we leave things as is, then things like ??? will be coerced into
box2unbox[Nothing](???) in unboxed contexts, which isn't what we want,
because that would require special rules in convert.

Luckily there exists a trivial modification to coerce that handles the problem.
When oldTpe is bottom, we just cast it to newTpe.toBoxedValiumRef before
wrapping it in box2unbox. That provides a precise type for the resulting
expression and has sane semantics.

@VladUreche, note that we still have an annoying irregularity. VS nulls
are converted to default instances of VS, whereas VM nulls are not.
better logging
simplified the verify phase a bit
enabling accidentally disabled compiler plugin :O