added test for Message::valid?, ::recv returns Message object instead of string
added some checks when creating messages, introduced Dictionary object
added Dictionary