Began accommodating other map generation types

Began accommodating other map generation types, starting with Binary
Space Partitioning. It's not entirely complete. In order to do this, I
had to start refactoring code meant for a much earlier version of ETB.