Add universal deserializeMessage function.
Add universal deserializeMessage function.

When we define a new message, we add its command word to a global
mapping, which this function uses to determine the right Message class
to use for the deserialization.

CheeseLord/warts,CheeseLord/warts