improve socketio channel subscription

This patch allows more flexible subscription system, like the ability of subscribing for different events on different repositories. It also adds the ability to unsubscribe from a specific routing key, falling back to a complete cleaning if no key is specified