Add support for message tags from IRCv3 to IRCReader.

ReadLine now parses tags out of incoming lines (tags are not currently passed through the encoder)

IRCParser.tokeniseLine() now understands that tags may exist at the start of a line and tokenises accordingly.
(In reality, the only time it ever sees them is during testing)

Parser processLine now looks for timestamps from tags from the ReadLine, not by parsing token[0] itself.

Made IRCReader tests a lot less annoying to work with.