Enemies drop treasure

Enemies now drop treasure. In order to do this without the hero and sidekick also dropping treasure when they die, I had to change the NPC behavior class so that it now has a die() function. Previously, the object died inside the takeDamage() function. This way is cleaner and more encapsulated.