added more validations, switched events to use event id instead of event name. As a result, make sure to drop any events you currently have because they will be broken after this commit (which uses event_id).  also, improved coverage to 84.46 % and added the skeleton for the messaging system. Basically all of the empty message files and the empty message table is the infrastructure to get a basic messaging system in place.