Avoided infinite loops in BF iteration

BF iterator keeps collection of nodes visited to avoid loops. A
situation like this ‘might’ arise should two nodes both have a same
child due to hybridisation or recombination. The possibility in the
future exists for a node to have more than one parents, once it is
decided the best way to deal with networks and recombination.
Merge branch 'DifferentIterators' into Ward9250PhyloV1