Fix issue 12771 - Variant opIndex for static arrays is not implemented.
Shorten array checks to isArray
Supplemental fix for issue 12857

The local template function zeroLen is inferred to @system. So it should not be placed directly under the @safe unittest body.
Merge pull request #2229 from 9rnsr/fix12857

Supplemental fix for issue 12857
add byCodeunit, byChar, byWchar and byDchar to std.utf
Merge pull request #2188 from Kapps/fix12771

Fix issue 12771 - Variant opIndex for static arrays is not implemented.
Fix #12806

Documentation improvement for `std.traits.isArray` to clarify whether
associative arrays are handled.

Fixes #12806
Reuse codepoint sets for identical character classes

These are very common and blowup memory usage at CTFE (that has no TLS
cache for that).
In any case it makes for slightly more compact memory footprint,
so a net gain regardless.
Merge pull request #2043 from WalterBright/byChar

add byCodeunit, byChar, byWchar and byDchar to std.utf
Fix Issue #12877: allow uniform() to handle dchar variates

Since [dchar.min, dchar.max] does not cover the full bit range of dchar,
optimizations that work for other integral types will fail here, and
result in illegal unicode points being generated.

This fix avoids breaking any existing calls to uniform() via a twofold
approach:

   * uniform!"[]"(T.min, T.max) will only call uniform!ResultType if
     T is not a dchar;

   * uniform!dchar will not try and use the entire bit range but will
     instead call uniform!"[]"(dchar.min, dchar.max).

Unittests have been added that should prevent such issues from arising
again.
Merge pull request #2234 from DmitryOlshansky/regex-reuse-sets

std.regex - reuse codepoint sets for identical character classes
Merge pull request #2231 from economicmodeling/fix_12806

Fix #12806
Fix missing program name in std.process.spawnProcessImpl exception message.
Merge pull request #2236 from tramker/bug_process

Fix missing program name in std.process.spawnProcessImpl exception message.
Merge pull request #2235 from WebDrake/uniform-dchar

Fix Issue #12877: allow uniform() to handle dchar variates
Upkeep in outdent

Removed "ctfe_strip", use documented unittest, use "stripLeft" over "strip" (preserve trailing spaces), tweak loop indexing, remove ctfe assert.
Merge pull request #2237 from monarchdodra/outdent

Upkeep in std.string.outdent