Water flags

For all the fishfolk out there who have trouble finding gear.
misc *_group fixes and dehackifications

mongroup: provide non-autovivicating means of validity checking.
item_groups.json: guns_with_ammo boolean to replace hard-coded if group == "livingroom" || "behind_counter"
mapgen place_spawns/items: implement the above and _whine_ instead of spitting out null_item or who knows what
item factory load: use global body_parts string-to-int map, nuke
set_bitmask_by_string(...) as it was only used by set_flag_by_string(...),
and casting body_parts to map<Item_tag, unsigned> no workie.

Also eliminate std::string init frenzy via const std::string & args
nuke-a-comment(tm)
json(array|object).throw_error("string"); what it says on the tin
Fix memory access violation
add some l10n fix
Merge misc. fixes.
Merge disease segfault fix and i18n fixes.
Merge pull request #4745 from KA101/WaterFriendlyText

Water flags
Fix looking around.
fallthrough for MilFood

Makes the rations a bit more likely, I believe.
Don't show the sound indicator while deaf.
Fix items not spawning.
merge oh-thank-gods-this-got-fixed fixes
Fix fancy eyewear.
Merge pull request #4762 from ianestrachan/no-deaf-sound-indicator

Don't show the sound indicator while deaf.
Heavy Weapons Ammo

Now there's a better chance that the batteries'll be included.  ;-)
mossberg 500 (pump shotgun) now has burst: 0 instead of burst: 3
Merge pull request #4765 from KA101/MilHW

HW ammo