New XDCC plugin for file-sharing capabilities. (WIP)

- Add a new XDCC module for file-sharing (work-in-progress). Includes the
following sub-commands (work-in-progress): xdcc list, xdcc state, xdcc send
- DCC module supports concurrent downloads.
- DCC RESUME works after a DCC SEND is requested.
- There are still few features left to be completed.

Finally, a few other changes necessary to implement the XDCC plugin:
- Fix unhook bug.
- PluginBase can now launch hooks much faster by changing PluginBase run() to be
  non-blocking. However, this is at the cost of CPU usage. This is a necessary
  condition, under the current constraints, so that the the XDCC plugin may
  deliver data at full speed.