The main change in this patch is that now control blocks have their DRIVER_TYPED
layouts embedded into them at their ends. This has allowed us to properly
marshal DRIVER_TYPED layouts across address spaces.

Additionally, the other big change is that on the callee-side, we now clone
the marshalled CB out of the sChannelMsg. This is in keeping with our designs
on paper.

* All pointer members of fplainn::sChannelMsg that require adjustment across
  address spaces now have been transformed into offset fields. This removes the
  need to update them after each transfer.
* Moved the udi_channel_event_ind layouts into __klibzbzcore.
* Scratch is no longer allocated as an embedded part of the CB; it is allocated
  separately.
* UDI Layouts:
  * New function to update the inline pointers in the visible portion of a
    cloned CB.
  * getTotalMarshalSpaceInlineRequirements(): Now adds the size of the header
    for UDI_MEM_MOVABLE objects.
  * marshalInlineObjects(): Now marshals the entire movable inline object,
    including the sMovableMemory header.