Change Makefile to compile C files directly for debug mode
squash a warning in debugger.c
Fix a bad assert/comment in backtrace.c
Use abort() instead of exit(n) on assertion failure
Give an error message if out-of-memory happens during initialisation.
Move caml_atom_table out of startup.c
Initialise caml_alloc'd memory to a valid value, not NULL.
Only examine nonzero roots
Modify marshalling (extern.c) to not mutate the heap.

Instead of the "trail", use an explicit hashtable of forwarding
pointers.
Represent bytecode pointers (return address and traps) as ints on stack.

Removes most of the out-of-heap pointers the interpreter uses by replacing
them with stack offsets.
Remove autogenerated .depend from git.
Fix indendation in intern.c
WIP Make deserializing interruptible by GC.

Register the intern stack, etc. as GC roots so that calling
caml_alloc or other functions that can do GC is safe during
unmarshalling.
WIP add shared heap code
Replace caml_modify with caml_modify_field.

Also replace caml_initialize with caml_initialize_field. New versions
take the actual object as a parameter, rather than a pointer into the
middle of the object.