Add Event Class

This will replace the function parameter to EventState.
Make EventState Use Events
Add and Use Global Event Registry
Add Hunting Event
Add Uneventful Travel Event
Rework Event Framework

Events are functions (again) and can now vary their options depending on
the status they are given.