Issue #35 On startup we scan for any message types and check is its serializable.

This implementation goes beyond just checking for a parameterless constructor, and tries to serialize an instance of the message type.

Also added a unit test :scream:  to verify this.