FillBondStructureFromReference: previous == NULL was bad idea, new functions Count() and FillRootStackForSubgraphs()
FillBondStructureFromReference: checking previous == NULL if we are the first is bad due to starting node (with mpty leaf) being actual previous, hence we decrease FragmentCounter before return, thus climb up the ladder and then down again and free in this course. Initial list pointer is free'd if FragmentCounter == 0: much better!
Count: simply counts the number of further leaves in the chain list, also by the neat recursive trick
FillRootStackForSubgraphs: Fills a rootstack by going through the leaves of a subgraph and checking on their atom's father's atom::AdaptiveOrder against given Order. This is further abstraction for molecule::FragmentMolecule()