More "interesting" hallucinations

This PR includes:
* Any monster can spawn as a hallucination
* Hallucinations vanish if struck by the player
* Hallucinations do not use their special attacks (they just try to walk up and whack you)
* Hallucinations CAN attack you, and DO produce a "The X hits your Y" message, but don't *actually* do any damage.
* Hallucinations have a chance to vanish after hitting the player (1-in-7 chance) or each time they move (1-in-25).
* Hallucinations no longer bash terrain, set off traps, or get blown to giblets. Fixes #1328.

It always bugged me that there were only a tiny number of monsters that could be hallucinations and that they were actually hardcoded duplicates. Well, no more!

I also refactored the spawning of hallucinations into a single function, because Don't Repeat Yourself.

And on a side note, it *really, really* bothers me that hurt() doesn't call z->die() automatically. That seriously needs to be the subject of some future PR.