add Message.parse
use Message.parse instead of .new
Message.new: turn raw into a kwarg
make Message.new accept all kinds of kwargs
use Message.new instead of Message.[]
drop Message.[]
minor Message#initialize refactoring
factor out Message::KNOWN_TYPES