High-quality splittable pseudorandom number generator

#10A flaw in splitn function

splitn should yield independent generators, but unfortunately one can make them have the identical state after some steps. See https://gist.github.com/susisu/b3543ef5e59470641524d7f78a9e1580 for more detail. The possible fix is here: https://hub.darcs.net/susisu/tf-random/patch/38ce9f696eb6e8643732db69f769c9dce3a5ed86

(Excuse me if I wrongly use darcs hub. I don't know how to use it...)