Improvements to int32/uint32 semantics (issue #162):
  Fixed some cases where unsigned literals were being represented as signed literals.
  Fixed unary expressions not generating the necessary '| 0' when type hinting was enabled.
  For UInt32 expressions, generate '>>> 0' instead of '| 0' when type hinting is enabled.
  When type hinting is enabled, decompose unary/binary mutation operators into more mundane expressions so that truncation can be implemented correctly.
Added some failing test cases for integer arithmetic semantics that don't work right.