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.