* first pass
* Fixes#623
* fix a merge problem
* move the aromaticity perception to a helper fn
* python doc update
* replace setSimpleAromaticity() with a parameter to setAromaticity()
* add simple test for the custom aromaticity function
o rdkit gains a RDKit::common_properties namespace that contains common string value properties
o Dict.h and below gain getPropIfPresent that attempts to retrieve a property and returns
true/false on success or failure. This is used to optimize access.
o rdkit learns how to pass property keys by reference, not value.
A new namespace has been added to RDKit, common_properties
that contains the std::string values for commonly used
properties. This helps to avoid typos in string values
but also avoids a creation of std::strings from character
values. All accessors (has/get/clear and getPropIfPresent) now pass
the key by reference.
Additionally, getPropIfPresent removes the double lookup
of hasProp/getProp which can be a significant speedup
in the smiles and smarts parsers (10-20%)
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.
update aromaticity to require unsaturation at single-atom donors
test the above two things
This is not necessarily completely stable, but all current tests pass
(once obvious changes have been made). We will just have to see where
the aromaticity changes cause trouble going forward.