Fix semantics of null.asInstanceOf[Int] and other primitives.

The Scala spec says that null.asInstanceOf[A] must return the
default value of type A. If A is a primitive, this means its
zero, i.e., false for Boolean, '\0' for Char and 0 for numbers.

This also fixes #53.