BFSNode.cpp: Added a purge graph call to the beginning of the populateChildren function to make sure there are no immediate cancellations in the current graph.

LoopGraph.cpp: Added a sanity check to prevent an infinite loop in purgeGraph() when the loop being purged was the very last loop in the graph.

LoopSymbol.cpp: Changed calculation of bypass edge weight to correctly account for the position of the nodes relative to one another in the graph (this prevents -1 bypass edges between nodes that have infinite adjacent circuit path edges)