Removed copying of the itype

Using a pointer to the ammo type is completely fine here.
Rename container member of it_ammo and it_comest to default_container.

Fix a bug in the consistency checking in item_factory: check tool != null and tool exists.

Add checking for it_ammo container being valid.
Prevent removal of shoulder strap from worn gun.

Also remove an outdated debug message. It does not matter whether the item is armor, the item functions used there will work fine for non-armor.
Replace access to item type with access to item itself.
Move the artifact deserialize constructors into the source file.
Prepare the item constructor for items of multiple types:

Instead of assuming that is_* of the item type will only be true for exactly one function (either tool or gun or gunmod or ...) it checks all types.
This allows proper initialization for all types in one item.

Also do the same thing in item::info.

Remove redundant writing of charges=-1, this is already done by item::init.
And the check should be directly for count_by_charges, because that what's important here: starting with item::charges > 0 instead of the default -1.
Combine code for food item info:

food in a container and food outside of it uses the same code now.
Avoid direct usage of it_container::contains

Use item::get_remaining_capacity_for_liquid instead.
Implemented the item slot for container items:

This slot stores container content size (not item size).
Implemented the item slot for armor items:
Add armor slot to some bows to make them wearable.
Add armor slot data to wearable containers.

Removes the IS_ARMOR tag because the presence of the armor slot data makes the item armor.
Fixes sharp terrain tetanus check.

The chance to get tetanus wasn't respecting if you actually got damaged
or not on SHARP terrain, so it was always checking it.
Armor tweaks

1. Leather belt recipe.
2. Toolbelt recipe.
3. Change survivor utility belt recipe.
4. New clothing: survivor belt, leather hand wraps, fur hand wraps,
leather foot wraps, fur foor wraps.
5. Add OVERSIZE flag to foot rags, loinclothm leather loincloth and fur
loincloth.
6. Remove unnecessary "name_plural" from survivor utility belt.
7. Tweak crafting time of foot rags and hand wraps.
8. Add survivor duster, sleeveless survivor duster and survivor belt to
"No Survivor Armor" mod.
Add documentation for armor_data and container_data.
Remove tabs.
Remove more tabs.
Fix.
Fix.
Actually add survivor belt