Fix bug in IRC message parsing caused by throwing away leftover data after a successful parse
Change message parser a bit further from monad operations to applicative operations