Support property node references in `kernel.createChild`.

Support properties containing node references in `kernel.createChild`,
in addition to `kernel.setNode`. Node references are only valid during
replication, but properties of nodes created during replication are
assigned in `kernel.createChild` and not `kernel.setNode`.

Node references are property descriptors in the form:

    { properties: { p: { node: id } } }

This is in contrast with regular property values, which have descriptors
in the form:

    { properties: { p: { value: v } } }
Accept node references in `node.children.create` component descriptors.

References #3088.
Support namespaced events to be used for node meta events.

Namespaced events will allow the kernel to use the normal event
listening/firing mechanism for meta events that are distinct from a
node's regular events.

Meta events will announce changes to a node, such as adding and removing
children, creating and deleting properties, methods and events, etc.

References #3094.
Attach meta events to the node collection objects.

References #3079.
Send meta events from the kernel.

References #3080, #3077.
Suppress kernel reentry for meta events during replication.