Refactor and fix blocking with martial arts.
Fall back to -1 instead like no_style, and use that rather than 0.
Stop absorbing scent from closed doors.  This creates a loop that will
increase smell infinitely on the opposite side of a door.  Ironically, a
player in the room resets their square to their own smell and prevents the
infinite loop.  But anyway.  This is bad.  We will now correctly ignore
closed doors and therefore calculate squares_used accurately.  Note: Smell
still lingers forever, it just doesn't increase.
Quit vehicle control menu with ^
Quit veh ctrl menu with invalid key
ifndef guards to allow compilation when a header file also defines these
variables (as the newest MinGW header files do).
Merge branch 'master' of https://github.com/CleverRaven/Cataclysm-DDA
Actually remove the now-redundant armor flag check in z-ordering.
Make vehicles with fridges have the fridges start out turned on.
Merge fridge enabling for abandoned vehicles.
Merge easier exiting of vehicle control menu.
Water flags

For all the fishfolk out there who have trouble finding gear.
Fix insanely broken wet_protection system that probably never worked.
Merge pull request #4748 from yobbobanana/mut_testing

Fix insanely broken wet_protection system that probably never worked.
Refactor and fix blocking with martial arts.

Conflicts:
	src/melee.cpp
Fall back to -1 instead like no_style, and use that rather than 0.
Merge branch 'merge-MA-changes' into ma-block-fix

Conflicts:
	src/melee.cpp
Merge martial art block fixes and door scent fixes.
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