Implemented dungeon location type

This allows me to define a 20 floor dungeon with significantly fewer locations.

A dungeon location alternates between behaving as a path and behaving as a fixed location. It always starts and ends with a path, so it should be bracketed by fixed locations.