Fixed hallway collision bug

bug allowed one to pass through some walls
Procedural room generation

It's a pretty awful algorithm, but it correctly assigns doors where
adjacent rooms require them, and somewhat randomly adds new doors. It is
quite possible however that our dungeon may no longer be infinite.