Merge remote-tracking branch 'origin/master' into vehref
Removes pipe SMGs from data/json.

Still needs removed from the tilesets but that's it.  We'll have removed an item from the game.
Removes tileset references to pipe SMGs.
Removes errant line.
Merge pull request #10328 from KA101/noSMG

Removes pipe SMGs from DDA
Small mapgen fix
Adds option to disable new invlets (except manual)
Use map::sees instead of player::sees to check for nearby fire.
Add has_items_with_quality to player class

and use it. The functions checks wielded and worn items, the inventory function only checks the inventory, which is not enough.
Fix hotkey collision in butcher menu:

Use 'z' as hotkey for "cut up all you can".
Always recalculate AIM data when moving.
Recognize gunmods in player::get_weapon_dispersion

If get_weapon_dispersion is called with a gun with an active gunmod, it will use the gunmod item instead of the weapon item.

Also check for curammo being null before using it, just in case.
Fix encumbrance message plural:

Only time when plural for is required is for eyes, all other body parts are singular.
Add checks for monster being a hallucination.

And react properly: skip the action / ignore the monster.
Add option to spawn hallucination monsters from debug menu
Check for cancellation of laptop menu

The uimenu converts all retval == -1 entries to positive values, the cancel entry (retval -1) is changed to retval 1, selecting it is the same as selecting the entry of a monster.

Also use uimenu::addentry instead of modifying the entries vector directly, it's shorter that way.
Replace checks for named items with tool quality:

Hacksaw -> "SAW_M_FINE" (SAW_M includes the swiss army knife and is therefor not compatible with the list of items that it replaces).
Wrench -> "WRENCH"
Screwdriver -> "SCREW_FINE"

Only remove tool charges (from oxy torch, circsaw) when no alternative item with the quality is available.

Added required qualities to toolset pseudo item.
Remove pointless parenthesis
Only consume welder charges with available goggles
Deactivate active items when completely unloaded.

And add unload message.