Allow configuration of the signals used for GC

On Posix systems druntime's GC uses SIGUSR1 and SIGUSR2 to implement
suspension of threads for its garbage collector. When integrating D into
existing programs written in other languages such as C or C++,
SIGUSR1/SIGUSR2 may already have an existing meaning. This allows those
programs to use currently unused signals for D's GC, most likely some of
the POSIX real time signals where availble.

This is acheived by calling thread_setGCSignals prior to thread_init, at
most once. If it is not called the runtime will continue to use SIGUSR1
and SIGUSR2. The functionality leaves the choice of signals up to the
caller, it does not assume any particular real time signal or that real
time signals are available.
Fix identation
replace tabs with spaces
Merge pull request #935 from rainers/detab

replace tabs with spaces
typedef support for hashOf
core.time: Add min, max and zero static properties to MonoTime
Merge pull request #936 from CyberShadow/core-time-monotime-minmax

core.time: Add min, max and zero static properties to MonoTime
Eliminate C-style array declarations.
Remove nothrow from core.stdc.stdarg

Fix issue 13399
Merge pull request #939 from quickfur/issue13401

Eliminate C-style array declarations.
Merge pull request #940 from Dicebot/revert-745

[REG 2.066] Fix 13399 "va_arg is nothrow yet may throw "
Fix bad assumption about clock speed in MonoTime unit tests.

This code worked just fine so long as the two subsequent calls to
MonoTime.currTime returned different results, but apparently, some
machines, CPUs are fast enough in comparison to their system clock that
that's not guaranteed, so the diff was 0 instead of at least 1, and the
test failed. And looking at it, it probably should have been >= rather
than > anyway (at least based on the variable name - min).

This should make it so that the tests stop failing on Daniel Murphy's
machine.
When allocating a struct with "new", do not pass the pointer type info to the runtime, but the struct type info.
The fix also provides a small performance improvement as it no longer calls the virtual function TypeInfo.next() multiple times
Merge pull request #941 from rainers/fix_13404

Issue 13404 - heap-allocating a struct passes TypeInfo_Pointer to the GC, not TypeInfo_struct
Merge pull request #943 from jmdavis/time

Fix bad assumption about clock speed in MonoTime unit tests.
13377 - include core/sys/posix/syslog.d
Fix property enforcement in `core.time`.
Merge pull request #946 from denis-sh/fix-property-enforcement-in-`core.time`

Fix property enforcement in `core.time`.
Issue 13414 - Static destructors not called correctly with dynamic loading

Patch provided by Niklas Wallén in private correspondence.
Merge pull request #947 from klickverbot/run-tls-dtors

Issue 13414 - Static destructors not called correctly with dynamic loading