Fix Issue 9607 - std.random.randomShuffle() and partialShuffle()
don't work with Xorshift.

This is an instance of Issue 2803, a clash between a template
parameter and a default argument.  I've used the workaround
proposed in that issue thread:
http://d.puremagic.com/issues/show_bug.cgi?id=2803#c1

Tests have been included to ensure that these functions work
with all possible RNG types.
Restrict PseudoRngTypes access to package level.
Merge pull request #1362 from WebDrake/randomshuffle

Fix Issue 9607 - std.random.randomShuffle() and partialShuffle() don't work with Xorshift.