GraphDFS

includes topological sorting