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
increase iteminfo height
astyle + make sokoban translatable
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.
Prevents weird bionic weapon collision bug.

Previously if you activated your bionic blade or claws while the other
was already active (i.e. activate claws with an active blade or vice
versa) it would cause you to drop the otherwise-undroppable pseudoweapon
item you initially had equipped. This prevents that behavior while
reminding the player to deactivate their current psuedoweapon first.
Smarter code.
data/json/terrain.json: Added FLAMMABLE flag to gas pumps
Even smarter code.
Merge pull request #6261 from fr0z3d/flammable-gaspumps

data/json/terrain.json: Added FLAMMABLE flag to gas pumps