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.
bugfix for 10472

and some whitespace to follow code guidelines

unified lastIndexOf(string,dchar)

bugfix for 10472

and some whitespace to follow code guidelines

whitespace again

git is good, Im with stupid

forgot one to!dchar
Merge pull request #1362 from WebDrake/randomshuffle

Fix Issue 9607 - std.random.randomShuffle() and partialShuffle() don't work with Xorshift.
Merge pull request #1374 from burner/10472

bugfix for 10472 - lastIndexOf(string, string) does not find single character string at beginning of string