Replaced IntegerValue hashcode with mixing based on murmurhash2

The current implementation of our `hashCode` method for IntegerValues
returned the value as the hashcode. While this avoid collisions, it is
actually quite a bad hash. Since most of our numbers are small, we will
only use the lower bits.

After some discussion with @msteindorfer I've added a test ( bf29f9844 )
to see which mixing function would be most suited for small integer
values. The mixing of murmurhash2 provided the best performance, both
for uniform random numbers (where the bits are allready quite random),
uniform random small numbers, and sequential small numbers.