Belted-layer related balance changes

Prevent the tool belt from being fitted. Currently the tool belt is objectively better than the tactical dump pouch, because it can be fitted and specialized military equipment can't.

Allow the tactical dump pouch and the fanny pack to be fitted.

Remove the chest rig from the belted layer. It's a vest, and is not anything like a belt.

Move the purse to the belted layer. It's a purse, and is not anything like a shirt.

Remove the holster from the belted layer. It doesn't cover anything, so having it be belted doesn't do anything.

Halve messenger bag and runner pack volume to 10 and 9, respectively. They're still better than every single other 0-enc, non-fittable item on the belted layer. 

Allow the scabbard to be fitted. There's currently no reason to use a scabbard, which offers up to the equivalent of 17 volume (when sheathing a nodachi), when you can use a messenger bag, which offers 20 volume and is easier to find. Even after the messenger bag's volume is halved, messenger bags are still the better choice for carrying most swords without this change; only the zweihander and the nodachi are larger than 10 volume.

Allow both large and small quivers to be fitted for the same reasons.

Prevent survivor-brand backpack and rucksacks from being fitted, increase the volume to match their non-survivor-brand counterparts.
Extract artifact type handling into artifact.cpp.
Move as much artifact definition code into artifact.cpp as possible.
Revert messenger bag and runner pack changes
Added Mall
Added Mall
Added Mall
Updated to make mall map more descriptive
Revert survivor pack and survivor rucksack changes
bugfix

how did this happen i am not good with computer
Holster, sheath, quiver changes

Cover the legs, have the varsize and belted flags. Changed the holster description to match.

Shoulder/armpit holsters should probably be added.

Ankle holsters are now belted instead of skintight and can be fitted.

Removed extraneous comma from sheath description.

Re-added varsize to toolbelt in anticipation of toolbelt changes.
Use correct function signature when invoking item constructor.
Add a second vehicle::install_part function:

The original one create the vehicle_part and calls the new one, the new function only adds the vehicle_part to the parts list.
The new function is used when creating a wreckage during mapgen: it adds the already created vehicle_part from the new vehicles to the wreckage.
This ensures consistent bigness properties.
Add another vehicle::install_part function, using an item as reference.

The function automatically uses the properties of the item to initialize the properties of the vehicle_part.
Use this function veh_interact, this moves the consumption of the item
before the actual installation. Also making sure that newly installed
obstruction don't hide the item that is to be installed.

Extended the constructor of vehicle_part to set the desired values instead of default values.

Move the item properties to/from vehicle_part code into two functions:

Combine vehicle::get_part_properties_from_item and vehicle::give_part_properties_to_item and vehicle::item_from_part
to vehicle_part::properties_to_item and vehicle_part::properties_from_item

Those two handle fuel transfer (including batteries) to/from item and
transfer of item bigness and damage transfer.
Disease target fix.
Added Vehicle Spawns to Mall

Dear github... why must you randomly change my indention!?!
Added JSON basic vehicle support
Added JSON basic vehicle support
Merge pull request #7671 from Rivet-the-Zombie/tetanus-tweak

Tetanus tweaks.
Allow json vehicle spawning based on chance