Fix issue #13354 - Use a generic Variant for passing opIndex/opIndexAssign arguments.

Also improves the error message when an incompatible index or value type is used by printing the actual type ID instead of "void[]" in the thrown exception.
std.zlib.crc32 and std.zlib.adler32 64-bit underflow|error when processing over 2^32 bytes of data fix
Merge pull request #2453 from s-ludwig/issue_13354

Fix issue #13354 - Use a generic Variant for passing opIndex/opIndexAssign arguments.
Further increase buffer for GetTempPathW

Documentation can be interpreted as if null terminator is not counted, better to be safe than sorry.
Merge pull request #2476 from Superstar64/zlib_crc_adler_underflow_64

std.zlib.crc32 and std.zlib.adler32 64-bit underflow
Merge pull request #2489 from Dicebot/max-path

Further increase buffer for GetTempPathW
Issue 8425 - Do not assume __vector(float[4]) is a valid type on all targets
Merge pull request #2490 from yebblies/issue8425

Issue 8425 - Do not assume __vector(float[4]) is a valid type on all targets
std.string: Replace local extern-C declarations with imports
Merge pull request #2491 from CyberShadow/std-string-nogc

std.string: Decorate Windows-only extern C declarations
std.range: Fix links in tee documentation
std.format: Make double to string conversion @safe

Bonus optimization: avoid redundant and possibly-unsafe strlen
Merge pull request #2494 from CyberShadow/pull-2014-09-07-11575425

std.format: Make double to string conversion @safe
Merge pull request #2492 from CyberShadow/pull-2014-09-07-09564922

std.range: Fix links in tee documentation
Supplemental fix for issue 9148 - lambdas will be aggressively inferred to pure
Supplemental fix for issue 13120 - remove accidentally accepted @nogc attribute

`removechars()` and `squeeze()` are not @nogc, because they uses `dup` and `std.utf.encode`.