Cleanup and micro-optimization
Bug fixes

* Removed printlns
* In icode EQ is allowed to be true on things with different type tags
provided they have the same representation. In particular that means
all the int-like things have to be treated as int for the purpose of
constant equality
* LOAD_FIELD and STORE_FIELD consume an extra stack item, the target
object, when they aren't static.
* Unboxing something that wasn't boxed is "valid" and should result
in a class cast exception not a compiler crash.
* Update one test to include new phase name
Cleanup and optimization. Add the flag to optimize.