Split out IrcEvent

- split out IrcEvent to separate file
Improve channel tracking

- add channel dictionary
- add IrcUser