graph utility methods
first stab at iterative unfolding algorithm using finish time and BFS tree as unfold order
test commit
fixes to copy utility so parent pointer actually points to the correct graph