Separate the events subsystem

This separates the events subsystem from the deprecated Server object, and moves it to its own package, which is cleanly installed into the engine as a builtin.

The events subsystem exposes the following commands on the engine:

* ```events [FROM]``` listens for all matching events and streams them to stdout

* ```logevent``` publishes a new event to all listeners (events are not persisted). Events are duplicated across all active listeners.

* ```events_info``` returns information about the events subsystem.