Added parameter to to inventory::amount_of that determines if one attempts to use items as tools or as components

Added wrapper function inventory::has_tools and inventory::has_components

Add PSEUDO tag to items that are only temporarily created for the crafting inventory.
move amount_of logic into item class
fix check for non-empty in item::amount_of
optimize the contents empty check
compress iteminfo
fix turret activation use of wrong ammo
increase iteminfo height
astyle + make sokoban translatable
Replace ascii-math based construction menu hotkeys with an explicit list.
Only highlight constructions when the player can build them.
Random line wrap fix.
Move construction internals into .cpp file.
Fixes the spoilage timer for cannibal luncheon meat.
undid some iteminfo compression, increased iteminfo height more
Make SNAKE translatable
apply custom keybinding
Changed irradiated apple description.
Changed laser weapons to not be unloadable.
remove ammo from consumed tools/gun when crafting
gave laser weapons NO_UNLOAD tag. Removed other code.