Addition of Functor to encapsulate static and non-static class member JsonObject loading functions
-- May need moving of Functor definitions to new file?
Adds lettuce to the game [prereq]
Adds craftable blts
Duct tape recipe!
Only add items to crafting options when we have a line of effect to them. Fixes #995.
Prevent smokers from generating smoke on the other side of walls. Fixes #849.
Prevent NPCs from targeting player through walls. Fixes #58.
Prevent spent shell casings from spawning on walls, which sometimes caused them to tunnel to the other side.  Fixes #733.
Adds plastic to recipe.
create savegame.h, add legacy_monster_id to future-proof enum/json shuffling
monster::save/load: save save/load monsters as strings. Tis makes
use of tile_id_data.h on save and on load, which is temporary until
monsters are jsonized.

Everything before this (int mon_id) is translated from int to str
via legacy_monster_id.
Killcounts are json with string ids
Recipe improvement.
Adds thread to recipe.
Minor diversification.
Fix reversed NPAGE/PPAGE
Make up/dn/left/right = k/j/h/l, to match rest of game
Make upleft/upright/downright/downleft = y/u/n/b, to match rest of game
Fix laws of physics (again, this time rregarding walls), make ductape with broadsword. Also, sammich
New blacksmithing recipe: cooking pot
Tweak.
Long underwear top, slight renaming of vanilla long underwear.