Read/write faults and promotion.

 - Barriers to detect access to foreign heap
 - Inter-domain RPC to handle faults
 - Promotion of objects during faults
 - Promotion and RPC handling when domains are blocked
 - Block to domain lookup for shared and private heaps
Make instr_trace threadsafe.

Remove unused caml_instr_string, get rid of some mutable globals,
and make instructions print in a single printf call.
Store object header and field index in ref table.
Add caml_atomic_cas_field, and use in minor GC to update pointers.
Support caml_input_value_from_string
Fixes to otherlibs/ for API changes (particularly, non-lval Field)
Hack threads/scheduler.c to just-about-compile so the build works.

To be removed entirely soon.
Add .gitignore files, generated from SVN.

Generated with the following atrocity:

    for dir in `find . -name .svn -prune , -false -o -type d ! -name .svn`; do
      svn pg svn:ignore $dir | grep -Fxvf $dir/../.gitignore > $dir/.gitignore
    done
    rm `find . -name '.gitignore'  -empty`
Fix incorrect use of CAMLlocal1 in dynlink tests
Disable Obj.truncate (to be removed).

Replace the toplevel's Obj.truncate hack for modifying Sys.argv
with a different and even worse hack.
Fix a bug in Is_foreign.

Is_foreign returns false positives for the shared heap space just
beyond the end of minor heap space. Prevent this by reserving that
space so that it cannot be used for shared heap.
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