Topological sort algorithm now maintains a count of incoming edges for each vertex rather than working directly on edge vectors. This should scale better for large graphs, as there is far less shuffling and mutable data. Removing edges and vertices from vectors is O(n), which is poor.
3797839