Get rid of persistent Defense mode changes

Fixes:
* Weirdness where defense mode changes persist over multiple defense mode games and into the normal game mode.
* Prevents stacking of defense mode changes over successive games.

Stores information about the original state and changes made to mtypes, itypes, recipes, and constructions so that they can be reverted back to original condition when defense mode is exited by a game over condition. Since the changes only stick around until the application is exited, and the only way to get out of defense mode without exiting the application is to die and trigger the game over condition, that is where all of the reversion actions take place.