WIP

Committing to get Kevin's test structure merged.
more WIP

Gagh, delays.
Still not yet ready.

Looks fearsome though!
make the bots drop broken bot items instead of corpses
astyle game::butcher
Add game::get_disassemble_recipe to get recipe used for disassembling
change disassemble code to check for enough charges using recipe::create_result
Add game::can_disassemble to check for ability to disassemble an item.
Allow disassembling of items on the ground with the butcher command

It displays a different text if there are corpses to butcher and/or items to disassemble
some cleanup, simplification, commenting
Extract some common code to load the tools/components list of a recipe.

At the same time making sure that the list only contains non-empty lists.
This in turn allows to remove all the checks for this special case.
remove some leftover indentation
fix a warning
- Plant food recipe gives 4 times the amount of plant food now.
- Recipe requires 4 times the amount of water
- Increased time reduction by plant food by 50% (was 2 days, is 3 now).
Prototype

It compiles.  Gonna publish and ask for a second set of eyes on it,
though.
Merge branch 'master' of https://github.com/CleverRaven/Cataclysm-DDA into StrikeTheEarth
Capping the grind of crafting skills

It's mostly a blunt implementation, an optional cap parameter to be
passed to ```player::practice```. Not sure if it can be done better.

With this setup, the maximum crafting skill level one can reach via
repeatedly practicing a given recipe, is capped at "difficulty+1".
Making hooks out of nails will never bring you beyond skill level 1,
etc. Disassembly follows the same rules. If it's too strict, might
change to "difficulty+2".
Whoops
Make atomic battery mods cycle out conventional battery mods and vice versa since they're incompatible.
Spit out charges as batteries if we're installing a battery mod that doesn't use them.