cnode-metadata: Adds metadata field to capability/cnode/slot.
Motivation: The libcap user may want to associate some contextual information for each capability (rather than with the object). For example, the LCD microkernel uses metadata to track whether a page referred to by a page capability has been mapped and where. This metadata field *is not* carried over to child capabilities during grant, and is NULL'd out when a capability is deleted from a cspace (so when the slot is used again, the field starts out as NULL). Internals note: The cnode will start out with NULL metadata as well when it is first used because we do a zalloc to create cnode tables.
Showing with 77 additions and 30 deletions