Move each message type into a class and improve error messages. Additional refactoring to LilypadListener to improve readability

Attempts to mitigate future occurances of malformed packets seen in 3.0.0