Starting npc spawn is Y.
Added reset_npcs function. Added currently active npc's %nr to debug feature. Removed unused code. Changed the way freshly spawned npcs act.
Added comments to npc.cpp
Added comments to npc.h (trying to figure out/document how it all works).
Added missing text to npctalk.cpp. (minor bugfix).
After death/suicide the npcs/factions, artifacts, and overmap and local map are saved now. (was not done before, some of this data gets deleted later when the character specific save is deleted).
Splitted some of the save() functions out to separate functions.
Changed the debug 7 function, all the active npc locations are now shown as messages.
Added minor comments at places.
Updated the cleanup to not save everything when it has already been saved. Pushes the cleanup npc's to the omap, removes them from the active list to prevent teleportation.
game::load now also runs update map, to correctly get all the inactive npcs.
Wish prompt has hint to search function added.
Couple of typos fixed
Use a std::list instead of a std::vector to store inventory items
Remove reference-mangling player::sort_inv() voodoo

Refactor the inventory sorting code so that it no longer mangles references (thanks to using std::list now).

Also move logic into the inventory and item classes, rather than being in player.

Note that inventory::sorted never seems to be *used*...
Improve readability of item sort code, stop flip-flops
Change inventory::restack to not mangle references
Unload no longer requires wielding the container/gun (closes #503)
Remove unused inventory methods "front" and "back"
Remove some calls to inventory::index_by_letter
Add some more inventory letter methods, remove more inventory::index_by_letter calls
Remove unused inventory::as_vector method
Remove inventory::stack_at(index), move some code into inventory
Fix massive slowdown when firing weapons/calling u_see

Well, thanks to profiling tools, I found out that u_see was calling has_artifact_with, which was using O(n^2) operations on the new list-based inventory. Move relevant code into the inventory class.
Fix new multidrop bug (shallow copy getting out of sync with the original)
Get rid of inventory::remove_item(int index)
Fixed `itypes` related crash in construction menu

Similarily to `crafting.cpp` construction menu ran into a null pointer dereference and crashed the game. It's fixed now by using `item_controller` instead of `game->itypes`.
Added Screwriver and Wild Apple, w/recipe
Normalized toolset charges usage