issue 5224
Update random.d

fix wrong usage in doc example (Random gen(unpredictableSeed)).
Update random.d

fixed spacing
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
Implement issue# 10314.

This moves std.traits.unsigned to std.conv and adds std.conv.signed,
since for some reason, we have std.traits.unsigned but do not have
std.traits.signed.
Ensure adequate code coverage from std.random.RandomSample unittests.

The old unittests were missing coverage of large sections of
RandomSample.skip() because the ratios of sample size to source size
were such that Algorithm A was always being chosen over Algorithm D.

The new unittests fix this and also extend coverage to a number of
other areas previously not addressed.  There are also currently-failing
tests commented out with version(none) that can be used to verify
future bugfixes and improvements.

A few lines in skip() remain uncovered simply because they depend on
runtime conditions that are extremely rare.
Complete code coverage for Xorshift unittests.

Unittests for Xorshift were previously failing to cover the
constructor, and the .seed(), .save and .opEquals() methods.
Complete non-static code coverage for LinearCongruentialEngine unittests.

Unittests for LinearCongruentialEngine were previously missing the
constructor and the .save and .opEquals() methods.

Code coverage analysis still fails to pick up on the static methods
and the contents of a static if scope in lines 374-382 of .popFront().
Unittest for MersenneTwisterEngine .save.
Remove superflous assert(false) and return statements.
Many asserts in std.random can be made static.
Unittesting uriLength and emailLength

Previously untested. Pushes code coverage from 57% to 79%.
Remove debug printfs from std/uri
Style fixes in std/uri

- indentation within blocks
- braces on their own lines
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.