Add additional functions to IRC input

Adding 

* The ability to catch all events - this includes PRIVMSG to Logstash, QUIT/JOIN/PARTs
* Add the ability to send number of users per channel stats into the logstash pipeline on intervals

This method is doing a lot, I think it need to be extracted in smaller parts.
Move the work on the message outside of the loop this will make the tests easier to write.

We could move the logic to update the user stats into his own method. `update_user_stats(msg)`. I would also hide the irc code check into their own methods, maybe `names_list_command?(msg)