Remove duplicate code from icr
Merge pull request #90 from prep/icr

Remove unnecessary code from icr
Codegen all yield expressions, even if they don't have a matching block argument
Some refactors in specs for not requiring prelude, and some typos fixes
Fixed #67: instances that never get instantiated get their fields typed as int8. Calls that are never instantiated raise "untyped exception", but that should never happen in safe code. On the other hand, breaking from a block unconditionally doesn't work right now (but that's not very useful).
Fixed #91: make sure to also transform fun pointers after type inference
Fixed C#unlink return type
Fixed #91: bind fun pointer to its associated call
Removed some redundant properties from FunLiteral and PointerOf
Check if call's block doesn't have a type, and make it NoReturn
Added "--hierarchy" flag to print type hierarchy, including types of instance variables, to standard output
Some refactors in print hierarchy
Marked spec as pending (lib vars don't work in jit)
Reduce number of Location instances created during parsing.
Removed @has_sign instance variable from NumberLiteral (can be deduced from @value)
Compute String#hash from bytes, not chars
Fixed parsing of call followed by "~", like in "puts ~1"
Fixed #93: don't need @ for unary operators (thanks to @booch)
Use empty name for fun args that don't have a name
Fixed #95: allow passing nil as a fun callback