Convert the memory management of devctl. This is the first step in moving to a
pre-allocated system that makes it always possible to send the message. This
change keeps the interfaces the same, both external and internal, but they will
change in the future.
Rewrite devctl to lean into zones
Rewrite devctl to make better use of the zone. This eliminates several mallocs
(5? worse case) needed to send a message. now it's possible to always send a
message (with the oldest message on the queue reused for the newest message if
necessary).
XXX It's unclear if I should be using a sbuf for this stuff or not.
XXX A useful interface might be to have an alloc function that returns the sbuf
XXX and let the caller cope for complicated things... TBD... the CAT macro
XXX is rather a poor-man's sbuf, maybe we'd be better off with the full monty?
THIS IS PRELIMINARY AND SHARED TO GET FEEDBACK... Especially on the finer points of uma_