Feature add composer and basic class

Definitely not what I call ideal yet, but you're working too fast to keep up!

This is a good start at separating some concerns. My idea is to separate out the network layer and IRC protocol into their own layers after this. I'm going to see if I can manage to put together an event driven model for IRC messages so that triggers can register to certain types of messages rather than being polled every single time.