Reorganizing code and adding an Event subsystem.

Sorry about the big commit... lots of stuff had to line up all at once
(particularly related to what the next version of YAFM will need) before
I felt satisfied and ready to hit the big shiny button.
- Moved recipe-related stuff to its own "sub-package" (is that the right
terminology?)
- Rolled my own event system that wraps the Forge event system for an
interfaced and easy-to-extend way of adding modular event handlers.
- Renamed a few things so that the naming is now consistent.