Fibers and MVars.

Lightweight fibers, with stacks allocated on the heap, synchronising
using MVars a la Concurrent Haskell.

Lower Stack_threshold to 16 to allow for cheap fibers.
Re-add autogenerated .depend files
Bump VERSION to +multicore and add boostrap files
GC bugfixes
More assertions for caml_modify_field
Split struct domain into an internal and a public portion.

Public portion can be accessed only when holding roots_lock, e.g.
when handling a domain RPC. Public portion of domain holds enough
data about heap state to make sampling roots unnecessary.
Fixes for GC while some domains are paused.

When doing GC on behalf of a paused domain, treat the remembered
set as roots, and ensure sweeping is completed for the paused domain.
Fixes for promotion and marking of fiber stacks
More hacking at otherlibs/threads to make it compile.

Not work, just compile :)
Bugfix for domain initialisation.

Do not add domains to live list before fully initialising them.
Make caml_update_young_limit avoid RPC
Handle simultaneous minor heap exhaustion and interrupts.
Bugfix for stack reallocation.

Reallocating the stack can now call the GC, so some variables need
to be saved.
Make sure write barrier is executed on correct thread during faults.
More asserts and logging
Proper interrupt for RPC
Simpler marking of fiber stacks.

Stack dirtying logic currently disabled, to be optimised later.
disable silly random STW GCs
Basic implementation of work-stealing