Remove some unnecessary manual casting logic from ldloc, stloc and method invocations.
Handle an edge case where conv.u2 is used for a conversion to System.Char.
Incredibly convoluted fix for issue #149:
  ILSpy generates incorrect ExpectedType information for the operands in binary operator expressions using comparison operators. To address this we need to suppress automatic casting for those operands but only if they are both reference types.
Also, fix the argument order for JSChangeTypeExpression.New because it was making me sad.