added PassageSelector interface with some subclasses to hand next cell algorithms; update Maze methods to support these new features