New function for events
keep track of the current state and direction
better use of the time package; adding 1 day instead of 24 hours; if it has been looking for an entire year then there is not an enabled day, we should bail
use the new message package
initialize the stopWaiting channel; modify the generateRandomEvents function; documentation comments all over;
events not in the events list now have a -1 index because 0 is a valid index
use the new msg functions
oops, always gotta unlock that queue
use a pointer for the event index because its default value is nil and easily distinguishable from an array index (integer), that way we don't have to do all the -1 munging anymore