Prevents guns from working underwater.
Adds flag and gunmod that allows some guns to be fired underwater.

To be fair, even normal guns can still work underwater now, they just
stand a very good chance of misfiring without this new flag.
Increases underwater ranged combat penalties fourfold.
Adds an exception via a separate UNDERWATER_GUN flag.

Range is effectively four times longer for unflagged weapons being fired
underwater. Conversely, flagged weapons find the same effect applied to
their shots when used out of water.
And even though the flag is UNDERWATER_GUN, it can be applied to other
ranged weapons as well.
Integration of new tag.
Spearguns!

Great underwater, terrible on land.
Swim fins!
UPS powered rebreather.
Added item_groups entries for rebreather.
Spearfishing recipes.
Dive knife.
Condense copy-pasted vehicle refreshing code into its own function, and add initial implementation of shift_parts().
Tear off seatbelts when seats are forcibly removed.
Dive bag, survivor wetsuit, more bugfixes - no more underwater cauterization.
More general fixes - no more underwater chainsaws or torches.
Allow removal of the (0, 0) frame.
Remove redundant update cache call.
Merge branch 'master' into allow-0-0-removal

Conflicts:
	src/vehicle.cpp
MOAR FIXES
No more underwater crafting.