Update: ensure connected rooms and stairs

Recursively assemble rooms from a central location. Emplace
staircases using previous level's downward staircase.
add dijkstras algo for pathfinding
incremental cleanup/refactoring

use multi-threading for dungeon level generation (speeds us up
significantly in jruby) but this means we can't use tcod, for
instance, so we'll have to rethink division of labor a bit...
update: add reek, minor refactoring

remove some comments, integrate reek
cleanup specs
add monsters; sketch cities
Merge branch 'develop'