Overhaul of message formatting.

Working out bug #32 (mIRC colors have a hard time). This should clear up the problems that #32 was describing.
Nick matching now ignores mIRC colors (highlights inside color or attribute blocks now show up. This does mean that the nick foo* will possibly match foo<b>*bar however it will be less likely to be not-matched.
Working on refactoring some of the mention/highlight code.

This makes it a little less obtuse, but also fixes a regression I had a while ago.