Prepare for managing event listeners through the kernel.

References #3093.
Pass context node references as IDs to pass through the kernel properly.

References #3093.
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.
Merge branch 'branch/kernel-listeners' into branch/collection-events
Attach meta events to the node collection objects.

References #3079.