rewritten CyclicStructureAnalysis(): uses DFS spanning tree and limited BFS from all back edges
The DFS tree is given via a StackClass and from each BackEdge a BFS is started to find the leftatom from rightatom but not by taking BackEdge itself. Hence, it finds the smallest circle and returns it.
Also, it limits itself by constantly redefining MinimumRingSize as the minimum of this and the current RingSize.
Tested to good results on buckyball. And may easily be enhanced to scanning and returning all rings (but so far we only need the minimum ring size).