We are now able to generically and properly call into and out of a driver
on the management channel.

We will have to work on inlining next since it is necessary for us to be able
to properly call things like udi_enumerate_req. (We need UDI_DL_MOVABLE_UNTYPED
to be able to call udi_enumerate_req).

We now make use (reluctantly) of the udi_cb_t::origin member to store
privateData pointer data across calls into drivers. This opens up a point of
vulnerability for the kernel within drivers. Any driver which fails to preserve
this member will essentially "eat up" all calls that pass through it.

In fact, it's worse: drivers can cause the kernel to execute arbitrary code now.
They now intercept a call between userspace and the kernel.

* Added support for management scratch allocation.
* Added some hacky evasions in fplainn::sChannelMsg::send() to enable us to
  send messages unmolested for now.