instead of using the property map interface.
A nice side-effect is that the wart of having to use property maps to loop over bonds or atom neighbors
is now gone.
This potentially breaks lots of client C++ code.
http://sourceforge.net/tracker/index.php?func=detail&aid=1942657&group_id=160139&atid=814650
This was handled by adding error/consistency checking to Atom.calcExplicitValence()
This includes another pretty big scale modification:
the allowed valence list for atoms (in atomic_data.cpp) can now contain a -1 at the end. If this is the case, the atom will tolerate valences above the ones listed.
This is done to allow "flexible" atoms (i.e. transition metals and the like) to accept arbitrary coordination numbers without generating errors.
Conformer.cpp: make sure we don't ask for space for zero atoms.
Kekulize.cpp: don't complain about marked bonds if we aren't removing markers.
molopstest.cpp: bad smiles corrected in one test.exe
ROMol.cpp, RWMol.cpp: extra preconditions added (should have been there all along)
Wrap/MolOps.cpp: docs for replacesubstructs.