Make use of redis pub-sub for improved performance

Previously socket.io-redis was listening for the whole pattern socket.io#* and the messages were sent to socket.io#id. This means that all the socket.io servers will receive all messages, even if the server does not use that namespace, even if there are no client listening to any of those rooms on them. If there are some nodes which send a lot of message, all the socket.io servers will have 100% cpu really quickly.

I changed it to use socket.io#namespace#room in order to be able to filter the messages on the redis server already, so the socket.io servers will receive only the messages they need to receive.