Implemention of toplogical sort and strongly connected components. Strongly connected components still has a bug in it.