Add support for finding connected components
Add two graph color and find bipartite graphs
Add dfs support
Add directed graph edge classification
Add support for topological sort
First iteration but still buggy of articulation verteces