Fix issue 10165 (rework of PR #1302)

http://issues.dlang.org/show_bug.cgi?id=10165
Issue 10165: No syntax to create thread-local shared variables

Adds `UnqualRef` templated alias/struct that is similar to Rebindable but
strips away all qualifiers completely (including shared)
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.
Add @nogc to RebindableCommon methods
Reverse static condition in Rebindable/RefUnqual
Use reinterpret cast is [does|may]PointTo

Instead of a straight up cast. Avoids problems related to opCast
or alias this, such as those in:
http://forum.dlang.org/thread/vldwvnuivsfwjozqiuup@forum.dlang.org
Fix Issue 13391 - Allow division of BigInt by long/ulong
Add @nogc to bitfields accessors
Remove pure nothrow @nogc from input range version of byXchar

The functions are templated and get their attributes deduced.
Merge pull request #2484 from sinkuu/nogc_bitfields

Add @nogc to std.bitmanip.bitfields accessors
Merge pull request #2483 from schuetzm/make-byxchar-unpure-gc-throw

Remove pure nothrow @nogc from input range version of byXchar
Merge pull request #2472 from monarchdodra/doesPointToReg

Use reinterpret cast is [does|may]PointTo
Merge pull request #2342 from Dicebot/ref-unqual

Fix issue 10165 (rework of PR #1302)
std.zlib.crc32 and std.zlib.adler32 64-bit underflow|error when processing over 2^32 bytes of data fix
Mark std.file.attrIsDir, attrIsFile and attrIsSymlink as safe pure nogc
Update file.d

The maximum possible return value is MAX_PATH+1 (261).

see http://msdn.microsoft.com/en-us/library/windows/desktop/aa364992(v=vs.85).aspx
Merge pull request #2487 from Zoadian/patch-1

Update file.d
Merge pull request #2486 from tom-tan/safe-pure-nogc-attrIsDir-attrIsFile-attrIsSymlink

Mark std.file.attrIsDir, attrIsFile and attrIsSymlink as safe pure nogc
Merge pull request #2477 from fb-pja/bug13391

Fix Issue 13391 - Allow division of BigInt by long/ulong
fix property enforcement
Merge pull request #2488 from 9rnsr/enforceProp

fix property enforcement