Turn methods of the j.l.Long companion object into intrinsics.

This allows to get rid of the hack that j.l.Long needed to know
about RuntimeLongs, and in general that Longs are implemented
with this class.
Turn conversions to/from TypedArrays into intrinsics.
Turn System.identityHashCode into an intrinsic.
Get rid of the checkNonNull helper, replace it by codegen.

There was only one place in the compiler where this helper was
used, and it's a rare case. So I simply replaced it by codegen
that does the same thing.
Fix unit test for DataInputStream.readLong().

It's not good to give Longs to Jasmine for comparisons, because
they are converted to Doubles.
Implement primitive conversions to/from js.Any in user-space.

With the semantics introduced in 0.5.0, they can be implemented
with regular .asInstanceOfs. And with the optimizer, the methods
can be inlined. So we don't need the primitives anymore.
Turn the helper environmentInfo into an IR node.

Because it seems there's nothing else we can do about it.
Turn the helper propertiesOf into an intrinsic.

This required to loosen a little bit the guarantees about the
ordering of the properties. But given how little specified this
is for the for-in loop itself anyway, it should not affect any
real code.
Tighten checksizes.