Change the thread / plugins management
For the moment, the Server class calls directly plugins, this is bad.
Let's do a very independant thing, servers will push any event on a queue in Irccd class, then in the Irccd class. Then in the Irccd main loop, we iterate over these events and dispatch them to the plugins.
Servers will not access to any plugin at all. Also, the listener may be threaded too, the best way is to use a condition variable to wait until listener / server has pushed something.