Fix bfs so that it traverses all the connected components. Also add a parameter that specifies where in the graph to start
Small fix for bfs
Move bfs() to a separate module. Redesign NodeIndices iterator
Change bfs to not traverse all the connected components.
Add a tree module