Add the ability to serialize a (valid!) Message object back into the IRC wire format.
Add a validating Message new method.

The intention here is that it should not be possible to create a message which
serializes incorrectly.

Does not validate prefixes properly, and should probably be checking things
bytewise rather than charwise to comply properly with RFC 2812.