Event subscription refactoring

Events subscription (`/events` API endpoint) attributes pseudo-unique identifiers to incoming subscribers: originally its host, then its subscription time. This is unnecessary and leads to code complexity.

Introduce a `JSONMessagePublisher` to provide simple pub/sub mechanism for `JSONMessage`, and rely on this new type to publish events to all subscribed listeners. The original logic is kept for the `since` and `until` parameters, and for client disconnection handling.
I think that just returning here is more explicit and more "go-ish". Also above running can't be false, because you exit cycle immediately after setting it false.
So, running isn't necessary here :) But I can be wrong...