Use posix-spawn gem to avoid faulty fork in Mecab
Replace manual Mecab call with ruby binding
Incapsulate IRCMessage::BotCommandPrefix

Converted this constant into a method IRCMessage.command_prefix(),
which should serve for greater flexibility (e.g. per-channel
prefix setting), and for decoupling the rest of plugins from
IRCMessage class.
Convert IRCListener class to module
Use plugin_manager in IRCBot directly
Avoid plugin monitoring in IRCBot

Got rid of listeners array in IRCMessageRouter,
that needed to be syncronized.
Moved filtering code into IRCMessageRouter
Refactor IRCMessageRouter out of IRCBot

Preparation to converting IRCMessageRouter to a plugin.
Convert IRCMessageRouter to plugin Router
Extract login logic into IRCLoginListener
Converted IRCBot to a plugin

Moved all classes, that are specific to IRCBot, with it.

This move was done with future addition of DCC CHAT/Console
message sources in mind. Ideally, only plugin classes and
some generic Message interface would be common.

There's no longer dedicated space for bot configuration,
it's configured just like any other plugin.
This also made ":plugins:" heading unnecessary.
Added missing watchdog config example
Added MapDoc plugin

Simple browsing of associative array from mapdoc data file.
Add lookup by strokes count to .k
Made .du generate link for "exact match"
Avoid dup render of all-kana entries in .jr
Make bot config auto-reloadable
Catch exceptions more reliably in Router
Catch exceptions more reliably in IRCBot
Implement user filtering in Router