search too soon in the case when one arc went to a visited node,
sibling arcs didn't get visited. I have rewritten the algorithm
completely using a simpler method. Also changed the test pack to
compare the output of the path_exists algorithm with the all_paths algorithm.