Add known traps & search for traps when waiting

For traps that might be invisible to the PC, create a copy of the trap definition with visibility set to 0 and prefix the trap id with "known_"
Use those traps instead of the normal ones when placing a (otherwise invisible) trap
When waiting a turn, search the surroundings for traps, and if possible make them into the known_ ones so they stay visible.
add add_memorial_log as virtual function to Creature class

add add_msg_if_npc/add_msg_player_or_npc to monster class, assume same logic as for npcs
and replace <npcname> in message string with monster name.
add a known traps map to the player class

It stores the locations of the known traps, also adds to functions to access that map.
astyle trapfunc.cpp
combine player trapfunc and monster trapfunc into one function

The trap functions also support NULL as creature pointer
Add triggering traps by thrown items.

Items must have a weight of at least trpa::trigger_weight (new trap property) for this to happen.
Merge remote-tracking branch 'BevapDin/traps-the-second' into FrankenMod

Conflicts:
	src/iuse.cpp
	src/player.cpp
	src/trapfunc.cpp
Fix some error found by Wishbringer
Merge remote-tracking branch 'BevapDin/traps-the-second' into FrankenMod