If a molecule being fingerprinted has only hydrogen atom(s), for example
molecule [H], then an empty fingerprint is generated, that is, all bits of the
fingerprint are set to zero.
All hydrogens of the molecule (polar, stereo, isotope, charge) are suppressed
before generating its fingerprint.

If the shell of the circular fingerprint can not be extended, for example, all atoms
of the molecule are already being considered, then the search is terminated.
This modification does not effect the generated circular fingerprints, it
only makes the generation process faster.

Some of the algorithms generating fingerprints can return the same
fragment of a molecule more than once.
For example the path fingerprint enumerates both OC and CO.
These duplicates are now filtered out when calling the
OEGetFPOverlap function.
Two overlaps are considered equivalent only if they store the same
target and pattern atoms and bonds, not considering the
correspondence between the pattern and target atoms and bonds.