Require that MessageOutPort and MessageInPort have the same message_type before linking them.
Change ControlMessage::GET to GET_VALUE, and ControlMessage::SET to SET_VALUE.
Change ControlMessage to ValueMessage, and add GetValueMessage and SetValueMessage classes and tests.
Add CommandMessage, ExecCommandMessage, and ListCommandsMessage classes and tests.
Remove data instance variable from Message base class. If subclasses do have data they can set their own instance variables.
Replace messages and message ports with more specific ports, like value and command ports.
Use a base InPort and OutPort to share code for linking ports.
In Block, contain kinds of input ports in @in_ports, and all kinds of output ports in @out_ports.
Add InPort and OutPort tests.
Roll version to 0.1.3 and prepare change log for release.