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