[WIP] Implement the IRCv3.2 XINFO command.

This is still very much work in progress. A lot of stuff needs to still be implemented and the code needs to be cleaned up somewhat. However, the XINFO command should work and some basic commands have been implemented.

/cc @Elizafox