add gc.config to configure profiling and pool limits through the command line
Merge pull request #817 from rainers/gc_config

make GC configurable through environment variable
Add CLOCK_REALTIME_FAST for FreeBSD.

Added the platform-specific CLOCK_ values for Linux and FreeBSD and put
them in their own files, deprecating the pre-existing ones in the posix
file.

This is required for Phobos pull# 2584.
Merge pull request #981 from jmdavis/CLOCK_REALTIME_FAST

Add CLOCK_REALTIME_FAST for FreeBSD.
Define dedicated package per gc implementation

Moves default gc implementation to `gc.basic` and gcstub to `gc.stub`.
Build system uses `gc.basic` by default, run `make -f posix.mak GC_TYPE=stub` to pick stub one
Initial dump of non-ported CDGC sources

Does not compile, files are copied from tango run-time as-is
Fix thread runtime initialization order

In D2 runtime stack bottom data is provided by thread runtime and thus its needs
to be iniitalized before any relevant functions get called.
Replace exit() with _Exit()

Forked process must avoid any of deinitialization - it triggers GC cleanup stage
in D2 runtime (it was added as part of shared library suppport). There is a
special C standard library function _Exit for that.
D2 port of CDGC sources

Includes all straightforward adjustments for different language
constructs, runtime difference and module names.

Can be built using `make -f posix.mak GC_TYPE=concurrent`
Handle APPENDABLE memory block flag

D2 runtime introduces new attributes GC must support
Fix BlkInfo.size returned by qalloc

Adds malloc overload that returns actual allocation size
(which equals capacity at the point of allocation) as an out
parameter.

gc_qalloc updated to use that overload to fill the BlkInfo.size
so that druntime can write necessary metadata to the correct end
of block.
Fix realloc + pool cache interaction

Pool update did not trigger cached size update if the pool
was cached
Global gc variable must be __gshared

Probably just `shared` actually but making CDGC shared-correct is more advanced task
HACK: ignore interior pointers in gc_free

This is better to be fixed in druntime by moving
capacity to the end of block for all sizes. However
this simple hack similar to one present in default d2
gc is enough to pass tests.
HACK: disable shared library tests

CDGC is currently missing important bits of infrastructure
for shared library support. This temporarily disables the relevant
test case so that other ones can pass
Remove all traces of PointerMap

Originally it was ended for early attempt of precise scanning
support but this approach has been reconsidered and if precise
scanning is to be added it will be done in a different way.