Some fixes for fast-render.
Select only a fixed number of channel listeners from many.

This would reduce the complexity in processing channel logs.
Insert logs to DB as an async task.
Acquire RWLock only when client is a master listener.
Optimize updating ChannelNicks data.

Minimize db hits as much as possible.
Mark ChannelNick update tasks as not urgent.
Added collections library through 'npm' package.
Fix bugs during updating ChannelNicks during channel join/part.

Implement a separate function ChannelNicksManager to take care of
adding/removing nicks from ChannelNicks and let ChannelListenersManager
take care of channel listeners alone (and not updating ChannelNicks).
Add a few NPM deps in packages.json.