The Boundary Iterative-Deepening Depth-First Search Algorithm