Fix reading UInt32

In JS, 0x80 << 24 yields a negative result.  Also, 0x80000000|0 < 0.
Bitwise ops should be avoided for very long unsigned ints.
Merge pull request #277 from mishoo/fix-reading-uint32

Fix reading UInt32