Fix Issue 12003 - std\zip.d(421): Deprecation
fix Issue 12071 - Algebraic won't take delegate returning structure

Use `Variant` rather than `VariantN` in order to pack arguments and returned value in opCall.
Fixup [un|minimally]InitializedArray

Solves:
* http://d.puremagic.com/issues/show_bug.cgi?id=9803 : minimallyInitializedArray fails past "1D" depth
* http://d.puremagic.com/issues/show_bug.cgi?id=10637 : minimallyInitializedArray: postblit on non-initialized
* http://d.puremagic.com/issues/show_bug.cgi?id=10847 : uninitializedArray accepts arguments which make it fail internally

Improvements also include:
* Documented as nothrow, and weakly pure.
* Works with 0 args (returns an empty slice).
* All args are pre-emptivelly changed to size_t, to avoid template over-instantiation.
Add note about CTFE/pure issue
Merge pull request #1909 from 9rnsr/fix12071

[REG2.065a] Issue 12071 - Algebraic won't take delegate returning structure
fix Issue 12156 - static import of std.ascii in std.regex causes conflict
Merge pull request #1935 from CyberShadow/std-regex-static-import

fix Issue 12156 - static import of std.ascii in std.regex causes conflict
Merge pull request #1498 from monarchdodra/uniniArray2

Fixup [un|minimally]InitializedArray
Improve min/max recursion
Merge pull request #1461 from monarchdodra/issue10039

Fix Issue 10039 - std.algorithm enhancements: min, max, clamp
Merge pull request #1885 from shoo/fix_issue12003

Fix Issue 12003 - std\zip.d(421): Deprecation