Sharable Receiver base class for Subscriber (#29)

You may say this is a premature optimization, but can't you update the socket vector in add() and remove()? It's just taking this code out to a function, make <code>sockets</code> and <code>intervals</code> members and call it from add() and remove().
I pretty much assume that all Subscribers that are sharing must be used from the same thread, so thread safety is not a reason for don't doing so.