Adds finalization function for recipes and moves book<->recipe interactions to it.
Adds call to recipe finalization to game::init_data()
Merge branch 'master' into agnostic_recipe_loading
Merge pull request #4076 from GalenEvil/agnostic_recipe_loading

Makes JSON loading of recipes work in an order-agnostic manner