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."
RandomSample assertions to ensure skip sizes respect number of items remaining.
Indentation corrections. :-(
Adjust floating point formatting tests for MinGW.

As far as I am aware, the C standard doesn't make any
guarantees about what the leading digit in the hex formats
is, nor about the number of exponent digits displayed by
default.

We should look into replacing the functions with our own
implementations to provide consistent behavior independent
of the host C runtime library, and potentially also allowing
the functionality to be used from CTFE.
Merge pull request #1313 from klickverbot/mingw-format

Adjust floating point formatting tests for MinGW
Fix up spacing and brackets for if statements.
Simplify assert conditions.
Fix Issue 9975 - pointsTo asserts because of false pointer in union
More formatting corrections.
Spread long statements across several lines.
Merge pull request #1342 from WebDrake/randomsample-popfront

Issue 10269 - RandomSample should use popFrontExactly, not popFrontN ...
Improve documentation/testing for pointsTo
Merge pull request #1277 from monarchdodra/9975

Fix Issue 9975 - pointsTo asserts because of false pointer in union