issue 5224
Update random.d

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

fixed spacing
workaround issue 9634
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
Move checkCTFEable to std.exception.assertCTFEable, and use it
fix Issue 10220 - `array` doesn't work with disabled default construction
Issue 10265 - RandomSample fails when passed an InputRange as input

 * Issue fixed by making presence of save() property conditional
   on input being a ForwardRange.
Unittests for randomSample being passed an InputRange.

The assignment of _input = input has been moved from
initialize() to the constructors so as to avoid
problems with nested structs.
Merge pull request #1329 from 9rnsr/fix10220

[REG2.064a] Issue 10220 - `array` doesn't work with disabled default construction
Improve Issue 10220 fix.

Improves pull #1329.

Issue URL: http://d.puremagic.com/issues/show_bug.cgi?id=10220
Merge pull request #1334 from denis-sh/improve-Issue-10220-fix

Improve Issue 10220 fix.
Merge pull request #1290 from blackwhale/regex-9634

Workaround issue 9634
Merge pull request #1332 from WebDrake/randomsample-save

Issue 10265 - RandomSample fails when passed an InputRange as input
fix Issue 10268 - std.typecons.Nullable!JSONValue - error instantiating
Issue 10269 - RandomSample should use popFrontExactly, not popFrontN, when skipping across input range

This small tweak has been accompanied by a couple of extra checks
to ensure that users do not request more sample points than are
available in the input, which could otherwise be the source of
exceptions.

There exists one remaining case where RandomSample may fail: if it
is given an InputRange without the .length property, and the user
indicates that the total number of items available is greater
than what the InputRange actually contains.  In this case an
exception is thrown from std.array.popFront() line 450,
"Attempting to popFront() past the end of an array", or from
std.array.front() line 624, "Attempting to fetch the front of an
empty array."