Don't just xor in the 64-bit number given, splitmix64 it across the entire
state. Also, make sure we don't accidentally set the state to all-zero.
RANDLIB_ASSUME_GOOD_SEED dropped - we now assume splitmix64 will be
present for the seed additions.
(Note that add_seed will be somewhat slow on platforms like MSP430 with
slow multipliers - don't call it too much.)
Rather than using system rand(), provide our own pseudo-RNG.
Generator used is "xoroshiro128+", which has 16 bytes of state and
2^128-1 period.
Main advantage is that we can now seed with up to 128 bits of entropy,
rather than the 32 bits srand() limited us to. We also can be assured of
the quality of the algorithm.
As the core generator is 64-bit, we now provide a get 64-bit function,
and others are based on this.
Incorporate Linux's /dev/urandom use into the main source file.