Rewrote DLDFS to respect the space requirements.

The old version kept a list of all the paths which I think is b^(d+1).
The new version keeps just the current path.