Added support for default messages. Default messages can be created by i...

...mporting Data.Default.Generics and doing (def :: <message type>).