Multiple changes.

- Refactoring.
- Display when a user parts a channel.
- Display when a user quits.
- Display when a user gets kicked.
- Support disconnecting and quitting and other commands.
- Preparations for other functionality.