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
fix Issue 10078 - std.string.indexOf fails at compile time
Merge pull request #1417 from dawgfoto/fix10078

fix Issue 10078 - std.string.indexOf fails at compile time
[trivial] fix code style
[trivial] Use ddoc unittest
[trivial] unittest code clean up
Make std.string module CTFEable
Merge pull request #1415 from 9rnsr/CTFEablePhobos

Make std.string module CTFEable
Merge branch 'master' into issue10647
Add unittest