The new event client features will be folded into the existing EventLogging extension in phases. Hopefully this will streamline code review and make it easier for us to manage the work. Each phase has its own task, since each phase will be its own patch. Things may change. For now, here is an outline of the phases:
[x] Phase 1 (Base API)
- Events are sent using HTTP POST to an EventGate instance
- Stream configuration data is loaded by the extension and used to format events
 Phase 2 (Sampling)
- Per-stream uniform sampling rate can be set by a stream configuration field.
 Phase 3 (Stream CCing)
- Events for a stream `foo` will be copied to any stream matching `foo.*`, and have the stream logic for `foo.*` applied to it.