* [WIP-ENH]: Support greater use of `findAtomEnvironmentOfRadiusN()`
This PR is the feature support for PR 4262. I am not so confident when coding the C++ as it is my first time hands-on experience
There are still many thing that should be done but I still need several support
* Update MolOps.cpp
* Fix build error
Fix according to this? https://www.boost.org/doc/libs/1_42_0/libs/python/doc/v2/object.html#object-spec-ctors
* Fix build error
* Fix test2.cpp
* Fix `include` issue
* Fixed as requested
* Update Subgraphs.cpp
* Update Subgraphs.cpp
* Update Subgraphs.cpp
* Fix reported error, correct doc
* Update MolOps.cpp
* Update test and fix error
* Fix default argument
* Fix duplication
* Update Subgraphs.cpp
* Fix test bug
* Updated a test and fix reported error
* Update Subgraphs.cpp
* Fix reported error
* Update test2.cpp
* Fix reported error of memleak and introduce new function
* Fix incorrect variable
* Update test2.cpp
* Update test2.cpp
* Update MolOps.cpp
* Update MolOps.cpp
* Fix algorithm & Add test docs
* Update test2.cpp
* Update Subgraphs.cpp
* New argument `bondDist` - Optimize the `FindAtomEnvFromMToN`
Documentation is syncronized the meaning between C++ and Python
- New argument `bondDist`
- `findAtomEnvironmentOfRadiusMToN()` now called once instead of twice due to the introduction of `bondDist`
* Update Subgraphs.cpp
* Update test2.cpp
* Fix casting
* Correct the test
* Update Subgraphs.cpp
* Remove buggy function and replace argument position
* Update Subgraphs.h
* Fix build failed
* Optimization
Reduce graph expansion if it is the last radius
* Adjust codebase based on review
- Update Copyright
- Add doc to prove optimization
* suggested changes
Co-authored-by: greg landrum <greg.landrum@gmail.com>