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
NPC wield and behavior fixes.
Naive fix for a segfault inside game::draw_trail_to_square().
Better yet, show X symbol for items under your feet, and don't ignore
calling refresh.
Bundle fixes for *::draw_line() methods. Thanks to BevapDin for
suggestion.
Merge broken robot items and dissassembly rework.
Merge NPC and item view bugfixes.