Iterate through a sequence of random rooms generated within the configured constraints
Iterable<Room> rooms() sync* { yield nextRoom(); }