[READY] Merge the side attribute into the body_part framework

Done!

**This PR:**
1) Temperature and clothing are tracked on a body part basis. No more "feet" or "hands". As a result the player is able to wear things like mismatched shoes or gloves.
2) Most gloves/boots have been split from a "pair of" item into singular items. As a result many recipes, weights, volumes, and prices have been cut in half to account for the 2->1 change.
3) On crafting one of these items players are able to choose whether to make a left or right handed item.
4) Many specialty shoes (such as roller skates or swim fins) have had their effects split so that they grant a lesser effect while only wearing one. The same with many mutations, which will now grant half of their effect if you are only wearing one shoe.

**Technical:**
1) No more side + body_part tracking or passing by reference! Hooray!
2) Items now track their own coverage. All things that used to depend on the coverage of the type (attacks, warmth, etc.) now look at the items themselves.
3) JSON items will still accept "HANDS", "FEET", "ARMS", or "LEGS" as a shortcut, and in fact that is what is mainly used.
4) JSON items will also accept targeted body parts, in the form of "HAND_L", "FOOT_R", "LEG_L" and so on.
5) JSON items will accept "HAND", "ARM", "LEG", and "FOOT" coverage and will randomly pick a side for an item. If an item has multiple random coverage (such as ["LEG", "FOOT"]), then all random coverage will be on the same side.
6) The "PAIRED" flag will cause items to attempt to spawn in pairs of a left and a right 80% of the time.
7) Recipes can be "paired" : true, which will cause them to query the player on which handedness of item they would like to create when the craft is completed. Without this the recipe will generate a randomly handed item on completion.

**Notes:**
1) Briefcases and bindles come in a left and right hand form. This is due to the limitations of the system, since there is no way to make a 1-handed item that can be held in either hand currently.
2) Old saves will produce some errors when they first load. Save+load them again and they should be fixed.
3) Old "handed" items will be randomly assigned a side, but will not acquire a "left" or "right" at the front of their name. They will still function identically to any new items though, and what they cover will be present in their description.
Ok. My main reason for putting it here was because this is pretty much the only place you currently *can* put it (and it was currently the place already being used). Item spawns tend to go pretty much JSON to in-game, with only a very short stop right here before being spawned.