getSortedList
Returns a topologically sorted list of the nodes in this graph. This uses the DFS algorithm as described by Cormen et al. (2001). If this graph contains cyclic dependencies then this method will throw a RuntimeException.
The resulting list will be ordered such that index 0 will contain the node at the bottom of the graph. The node at the end of the list will have no dependencies on other nodes.