issues/271: invoke custom emitters from forwarder, not agent

Permits statsd output to be funneled through custom emitters, which previously could only handle checks.

As emitters are typically blocking, and the forwarder is async, each emitter has a separate worker thread handling events from a queue with a fixed maximum size.