Revised description mechanism

Added (describe) multi-method, which can describe any map with a
:description key that matches one of its methods.  We'll use it for
assembling descriptions for things and mobs as well.  At present,
(describe) simply packages up the "room-description-hooks" in a more
convenient package.

Removed the old "room-description-hooks" from room.clj and rooms.clj,
and revised (describe-room) to use (describe) instead.

The rooms.clj code is now much cleaner looking.