Add M320 as a UGL

M320 with stock attached can be disassembled into stock and M320 GLM.
The GLM can be attached to rifles or used as a craft component alongside
the stock in making the stand-alone launcher.
Adjusts weight of bird and bug corpses.

I could have rolled this in with my last PR if I'd thought of it at the
time; hindsight being 20/20 and all that.
Fix 'You holster your none.' message
Restores missing hazmat_eyes item group.
Merge pull request #7014 from Rivet-the-Zombie/other-species-weight-fix

Adjusts weight of bird and bug corpses.
Merge pull request #7015 from TranquilMarmot/nonefix

Fix 'You holster your none.' message
Merge pull request #7018 from Rivet-the-Zombie/mask-silliness-fix

Restores missing hazmat_eyes item group.
Add documentation for "crafting_pseudo_item" property of furniture
add documentation to iuse_actor.h and move the function body into a cpp file.
Make iuse_transform simpler:

A default constructor takes care of default initialization of the members. Defaults are good enough for everything except the target type id.
Use the automatically created copy constructor instead of writing one.
Use JsonObject::get_* for mandatory properties and JsonObject::read for optional properties.
Wrap the new iuse_transform object in a std::auto_ptr to prevent memory leaking when the json throws an exception.
Extend iuse_transform to include some often used checks.

1. fire charges available, 2. item has charges.
Add messages for this too.
remove toolarmor_off, oil_lamp_off, gasoline_lantern_off, and light_off

Their behaviour is now fully coded in the json entries.
Added auto_iuse_transform

This class inherits from iuse_transform and is used for active items.
It has special handling for player being underwater and for items that can _only_ transform when they run out of charges (or are underwater).
This prevents the player from deactivating things like lightstrips or flares.
elusive
cougar spawn
No more Zombear swarming.
Added tools and parts subsections to electronics category, moved all relevant recipes into new subsections and floodlight into lighting.
Merge pull request #6987 from dar-/m320-underbarrel

Add M320 as a underslung grenade launcher
Add target charges to iuse_Transform.

Sets the charges property of the resulting item to the value specified with json.
This allows moving many bomb-activation functions to move to json.
Speed up construction menu, when checking if the player has the required components