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

We can use `Stud::Task.new` here to manage the creation of the thread, we also need to keep a reference to this thread to stop it in the teardown call.

```ruby
@bot_thread = Stud::Task.new(@bot) do |bot|
  bot.start
end
```