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.  With no general solution on the horizon for that bug, 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.  If this style of testing is considered useful I propose extending it to all functions that make use of RNGs.