added a notify system for consumers per queue

Instead of doing this and then setting needsSubscribe back to false later, might be simpler to do:

```go
queueNames := getConsumersQueues()
difference := stringSliceDiff(lastSubscribedQueues, queueNames)
needsSubscribe = len(difference) > 0
```