Re-implement hasIndirections

Avoids requesting the RepresentationTypeTuple of T unless really needed.

Partially solves 12000:
https://d.puremagic.com/issues/show_bug.cgi?id=12000

Fix Issue 12000 - Forward reference issue with RefCounted
safe pure nothrow sort and sum
remove debug statements
Remove useless enforce

It's already asserted
Mark some tests as nothrow
Scope std.typecons : Tuple imports
Fix Issue 12568 - std.functional.memoize does not work with constant
arrays.
Strip spaces.
Fix Issue 8921 - Enum arrays should be formatted properly.
Fix Issue 12633 - std.conv.to should support target fixed-sized arrays.
Merge pull request #2122 from AndrejMitrovic/Fix8921

Issue 8921 - Enum arrays should be formatted properly
Merge pull request #2112 from AndrejMitrovic/Fix12568

Issue 12568 - std.functional.memoize does not work with constant arrays
Merge pull request #2095 from monarchdodra/imports

Scope and conditionally import `std.typecons : Tuple`
Merge pull request #2084 from monarchdodra/toNothrow

partially make to!string nothrow
Merge pull request #2118 from AndrejMitrovic/Fix12633

Issue 12633 - std.conv.to should support target fixed-sized arrays
Merge pull request #2075 from monarchdodra/sumInfer

safe pure nothrow sort and sum
Merge pull request #2070 from monarchdodra/hasIndirections

Re-implement hasIndirections