Merge pull request #359 from takkaria/restruct

Remove event loop from play_game() & eventify msg()
Rename struct trap to struct trap_kind
Rename struct trap_type to struct trap, other stuff to disambiguate
Remove most hard coded trap indices
Fix off by one error in trap parsing
Remove hard-coding of player traps
Add DOWN flag (cleverly added in 29e5d01b) to the actual trapdoor template
Add short description to traps (mainly for lookup purposes)
Load messages_module earlier to avoid segfault on parser error
Add lookup_trap, finish removing trap indices
Fix some misuse of trap functions, allowing runes of protection to actually work
Remove unused veins with hidden treasure
Remove jammed doors
Start preparing for door locks in the tarp layer
Graceful fail for messages
Unbreak quickstart births.

If we never set done to true, we sit in this loop forever, and since
the state is set to BIRTH_COMPLETE already, the game spins using
100% CPU. Oops.
Merge pull request #360 from elly/quickstart-fix

Unbreak quickstart births.
Split cave.c up a bit
More re-organisation of cave*
Use trap layer locks for doors