Add gamesaves to the application
Add gamesaves to scene triggers

Also refactor modules as classes, which removes annoying boiler plate
Remove datastructures directory
Add support for state machine mixins
Use a mixin for the scene trigger state machine
Turn the scene trigger state machine into a mixin
Merge pull request #1037 from hawkthorne/fsm_mixin

FSM mixin