Finish breaking cycles algorithm

This algorithm will do a depth-first search until
it either encounters a cycle or it traverses the entire
graph.  If it traverses the entire graph, then the algorithm
is finished and it exits.  Otherwise, it selects the edge
with the largest weight that it enountered while walking
the cycle and removes it.  The search is repeated until
it travserse the entire graph successfully.