Enforce more things in the IR checker.

* IR check hijacked classes
* Verify that raw JS types and interfaces contain no instance
  member
Remove the obsolete __init__ hack.

It used to be necessary to record that a initialization to
zero of fields of type Long had to reach RuntimeLong.Zero.
Since Longs have been first-class in the IR, no such thing
can happen anymore.
Uniformly keep the '$' at the end of module class names.

This removes some complexity of dealing with and without the
'$'s, depending on in what context they are used.
It also removes the IR constraint that module classes should
end in a '$' at all.
Remove typeof, in and instanceof from Scala ops.

Use the JS operators instead, and unbox the result.

This simplifies the IR by getting rid of 3 rarely used
operators. There will be no performance impact with unchecked
asInstanceOfs.
Use Int codes for JS unary and binary operators.

Instead of Strings.
Merge pull request #1376 from sjrd/tweak-ir

Tweak IR