issue 5224
fix Issue 10125 Unicode non-BMP decoding to dchar in stdio readln

strings were first decoded to wchars, each wchar was then separately
decoded to dchar, resulting in 2 dchars in the surrogate block instead
of 1 correct dchar.

added unit test to verify readln decoding of non-ASCII characters
Merge branch 'master' of github.com:D-Programming-Language/phobos into 5224
@blackwhale's review
@blackwhale's destruction
combine some statements
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.
Added namedGroups property to Regex struct.

Extended NamedGroupRange to be a random access and forward range, and added length memeber.

Changed name of namedGroups property to namedCaptures
Fix Issue 10543 - std.algorithm.map incorrectly uses source range length for narrow strings  

Strange, because there was an explicit override for strings to forward length.

In any case, this is now fixed.
deactivate unsupported test

The test was checking decode works with input range. The truth is that this relied on the input range actually providing length. map *used* to erroneously provide length for narrow strings, but this not the case anymore.

Issue has already been reported as 9543:
http://d.puremagic.com/issues/show_bug.cgi?id=9543
Merge pull request #1389 from monarchdodra/mapString

Fix Issue 10543 - std.algorithm.map incorrectly uses source range length...
Fix & improve readln, File.readln docs

Purge phantom fp parameter.
Add missing parameters and throws info.
Fix File.readln(buf) example to use char[] buf for reuse, not string.
Fix swapped readln() and File.readln() examples.
Separate readln() and readln(buf) docs because the behaviour and
return types are different.
Use 'void main' instead of 'int main' in examples
Change 'is reused' to 'you can reuse' for clarity
fix Issue 10544 - writeln!(inout(int)) does not work
Merge pull request #1397 from 9rnsr/fix10544

Issue 10544 - writeln!(inout(int)) does not work
Fixes Issue 10570
Fix note about retaining buffer contents
Change File.readln(buf) example not to idup each line

Now lines starting with '#' are ignored.
Lines starting with 'q' no longer end the program.