2 BUGFIXES: CreateAdjacencyList() and CyclicStructureAnalysis()
CreateAdjacencyList(): with benzophenone and indigo it was found that the correction of the bond degree was not working properly. Carbon bound to oxygen and other carbons would not raise the bond degree to oxygen preferentially over the carbon bonds, which lead to wrong bond degrees in the end. We refrained from using matrix schemes as these are not O(N) in a simple manner, but remained with the local scheme that now checks each also mismatching bond partner for its number of bonds and takes preferentially the one with the fewest bonds as the increase candidate.
CyclicStructureAnalysis(): with biphenylene and cholesterol it was found that the cycle detection did not work as expected. Cycles were found twice due to a back edge being shared by two cycles at the same time (and it's randomly dependend on the vertex ids which cycle is found first). Hence, we now do a backtracking of a cycle candidate, looking whether each of its vertices is not already set to be cyclic. If so, we removed the last added vertices from lists and stacks (i.e. the closing edges), so that the other BFS finger with the real candidate may still reach the looked-for backedge (otherwise the vertex would be marked gray and hence not visited).