Iterative Deepening A*
A series of depth-first searches
bounded by iteratively increasing f limit.
If f is monotonic (f(child) >= f(parent)),
then IDA* expands nodes in best-first
order.
IDA* space requirement O(bd)
IDA* node generation- O(1)