Fix Issue 5361 - Add TemplateOf and TemplateArgsOf

Examples:

```d
struct Foo(A, B) {}
alias Bar = Foo!(int, real);
static assert(__traits(isSame, TemplateOf!Bar, Foo));
static assert(is(TemplateArgsOf!Bar == TypeTuple!(int, real)));
```

https://d.puremagic.com/issues/show_bug.cgi?id=5361
Support TZif format v3

The only difference between v2 and v3 is an extension of the POSIX-TZ-style
string, which Phobos doesn't use anyway.
Fix Issue 12031 (partial) - opDollar for Typedef!T

Just forwarding the various kinds of `opDollar` in `Proxy!T`. Partially fixes bug 12031 -- I believe a dmd change is needed to completely fix it (separate to opDollar forwarding).
fix issue 12069

On Win32 allocating large blocks (>512K) is forwarded to
VirtualAlloc/VirtualFree. Doing these calls is expensive especially in a
loop. As a temporary solution a block size of a segmented stack is
decreased to ~1/8 of critical size.

The code needs to be adapted once allocators are in std.
Merge pull request #1906 from blackwhale/issue-12069

Fix issue 12069
Fix issue 12067.

Note that the measureTime examples do not use documented unittest
blocks, because that doesn't work when the documentation is split out
into a separate version(StdDDoc) section.
Merge pull request #1907 from jmdavis/12067

Fix issue 12067.
Merge pull request #1899 from Poita/bug12031

Fix Issue 12031 (partial) - opDollar for Typedef!T
std.range doc changes: less example redundance and examples for function
without
Merge pull request #1890 from burner/master

std.range doc changes: less example redundance and examples for function without
Merge pull request #1898 from schuetzm/tzif3

Support TZif format v3
Merge pull request #1884 from Poita/bug5361

Fix Issue 5361 - Add TemplateOf and TemplateArgsOf