use lower order bits in prng

- This is about 2 times faster compared to the previous rng.
- Add unit tests to ensure things are correct
- Update integration test data
re-enable integration tests (thanks to van51!)