Reimplemented xxHash after discussion with @msteindorfer to improve our IntegerValue hashcode

We tend to have small numbers, and this provides a strange distribution in the `.hashcode()`