upgraded int array ops
more fixes and formatting etc.
consistent use of size_t
improve unittests
Add a HACKING file.
first pass of install targets
fix copy to not result in an extra layer of each subdir
actually build memoryerror.d
Merge pull request #495 from braddr/install

draft install target
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