This updates the BFS, DFS & Topological Sort algorithms

I don't believe the algorithm interfaces are impacted by the addition of descriptors, but that's something to discuss.