Quite a few changes, updating the commands and also closure type usage

- Use |...|:Send + Sync rather than |...|:'static, so that all closures are send+sync.
- Add a 'catch all' event listening posibility which fires for all irc messages
- Change closure type from |&mut *Event| to |&*Event| because we don't need it to be mutable
- Move all input logging to the 'log' plugin, which prints it more nicely
- Fix join command not compiling, and add 'part' command to leave a channel