Replace listenersDiff and listenersUnion with accumulateListeners

I noticed that `listenersDiff` and `listenersUnion` are doing the same thing, except that the latter wasn't returning a value.  So I replaced them with a single function `accumulateListeners` and updated their usages.  I also think the name more accurately reflects what they do (listenersDiff was really doing a union and then returning the diff).  I realize 'accumulateListeners' is a mouthful, so I'd welcome better names for it.  I considered `mergeListeners`, but it seems less accurate.

Another, trivial, change was changing a parameter `cb` to `callback`, matching the JSDoc.