Implemented a DFS search to find paths, which does not yet filter duplicates.
Added duplicate filtering to DFS, and a test for it.