refactored inv and added inv_activatable
Add a missing case for invlet reshuffling on force invlet assignment.

Fixes issue #2672

There's a tiny other change in there, which is to remove a duplicate call of update_cache_with_item(). The call is unnecessary if reuse_cached_letter is false, and if it's true, the call will be made anyway.
Mark a couple missed strings.
Confirm that data/raw/sokoban.txt does not need translation.
Fix missing final profession in profession list.
iuse::knife: menu() didn't end in NULL but only crashed when built with -O. Also, remembers last menu selection (runtime).
restore: items and monsters save to json

This is stable/tested and was merged in 21e76f9, however removed later. Please test
Ensures that pickled stuff in fridges is properly sealed.
Update bionics.json

Spell-checking
fixed minor memoryleak
Update dreams.json

really small spell-checking
Update mutations.json

Spell-checking
Update containers.json

Corrections of 'milliliters' spelling. Proof:
http://lamar.colostate.edu/~hillger/correct.htm
Merge some bugfixes.
Merge inventory handling cleanup, i18n tweaks, pickles in jars, and memory leak fix.
Improve the destroy_vehicle debug message.
Don't calculate wreckage's global x and y if it hasn't changed.
Fix #2926 for great justice!
Make smash() more likely to break vehicle parts.
Replace hackish bresenham border-scanning with shadowcasting for caching player seen tiles.