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
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.
Simplify File.readln(buf) example using a single output string

This is probably more performant than an array of idup'ped strings.
(Suggested by Steven Schveighoffer).
Merge pull request #1380 from ntrel/stdio-doc-fixes

Fix & improve readln, File.readln docs
Specifically check for 192-bit option in std.random.XorshiftEngine.
Correct typo in Xorshift32 which was leading to non-uniform behaviour.

The original typo derives directly from George Marsaglia's paper
introducing the Xorshift RNGs.  The original checking values, derived
from that code, thus also reflect the typo.

A corrected version of the reference code is available from
https://github.com/WebDrake/xorshift/ and has been used to
generate the updated checking values.
Correct typo in Xorshift160 which was leading to non-uniform behaviour.

The original typo derives directly from George Marsaglia's paper
introducing the Xorshift RNGs.  The original checking values, derived
from that code, thus also reflect the typo.

A corrected version of the reference code is available from
https://github.com/WebDrake/xorshift/ and has been used to
generate the updated checking values.
Merge pull request #1403 from WebDrake/xorshift

Fix Issue 10550 - Xorshift32 and Xorshift160 do not generate uniformly-distributed random numbers
Double safety check for Xorshift bit values.
Make Xorshift bit-related error messages more informative.
Add workaround to fix issue 10567

Currently VariantN does not support const objects comparison. So just add specialized opCmp member and use cast().
Merge pull request #1404 from WebDrake/xorshift

Double safety check for Xorshift bit values.
Merge pull request #1405 from 9rnsr/fix10567

Add workaround to fix issue 10567