feat(client): implement beginning client infrastructure

This is just the beginnings of a working IRC client, a lot of stuff is
missing.

Message parsing is not 100% (parameters and trailing messages are not working yet)