Add a HACKING file.
actually build memoryerror.d
simplify unittest for critical region
improve critical regions

- use a fine grained mutex to negotiate critical regions
  and thread suspension

- we no longer have to suspend & resume a thread
  that is in a critical region
gc: Remove redundant private protection from imports
Thread.suspend must now be synchronous

So remove the comments about a possible different implementation
and actually check for sem_wait failure.
gc: Update Copyright years
gc: Group extern (C) declarations to avoid repetition
gc: Rename modules to make more sense

Remove the `gc` prefix from `gcbits` and `gcstats` (we already have the
`gc` package to know where they belong).

Rename `gcx` to `gc` because it holds the main GC implementation and
`gc` to `proxy` because it basically holds a GC proxy.

As a side effect, `src/rt/memory.d` needs to be fixed to import the GC
interface from `core.memory` instead of accessing directly to the GC
implementation.
Merge pull request #500 from leandro-lucarella-sociomantic/cdgc

gc: Some small cleanups and file renaming
eagerly allocate Thread locks
exponentially increase wait time up to 10ms
simplify loop
Merge pull request #498 from dawgfoto/cleanupGC

simplify loop
enable docs for critical regions
Merge pull request #499 from dawgfoto/criticalRegion

improve critical region
Merge pull request #494 from alexrp/hacking

Add a HACKING file.
Add Linux/PPC64 values to core.sys.posix.fcntl.

Simply adds the missing values.
Merge pull request #502 from redstar/ppc_fcntl

Add Linux/PPC64 values to core.sys.posix.fcntl.
Add ucontext_t on Linux/PPC64.

Adds the required data structures for ucontext_t.