devdocs notes on memory layout and runtime initialisation

Some notes I made while learning about runtime internals.
Maybe useful for other new developers.
But maybe misleading because eggnog :)

If I understand your edit correctly, and these "isbits tuples" are just implementation detail of a compiler optimisation, then I think I should remove the "or an array of raw values for un-boxed bits type tuples" text again. I think that this kind of memory layout documentation can only usefully describe the way objects are when they are understandable by the runtime/interpreter. Within a compiled function, or within a closed graph of (maybe inlined) compiled functions, there may be all kinds of strange representations of data that result from various optimisation phases (including llvm internal optimisations that we're not aware of). There is no point trying to document these here.