* run clang-tidy with readability-braces-around-statements
clang-format the results
clean up all the parts that clang-tidy-8 broke
* fix problem on windows
* Better resolve ties in rgroup matches
* Break ties by choosing the permutation that adds the fewest rgroups
* Update aligned cores after tie breaking\nI think this results is more optimal
* Remove unused code
* Replace count with UsedLabels
* Remove whitespace
* Remove whitespace
* Remove redundant code and error message
* Revert test
* remove debug prints
* Fix core labelling and multi-core hydrogen removals
* Add comment that explains confusing bit about indexlabels for multicores
* Multi core fixes: hydrogens properly removed, fixed labelling
* clang-format
* update version of japanese docs
* Remove external labels from cores
* Fix syntax errors
* Add better autodetection of labels, add dummyatom label, don't fall back to indexes when onlyMatchAtRgroups are set
* Add better autodetection of labels, add dummyatom label, don't fall back to indexes when onlyMatchAtRgroups are set
* Move autodetection before alignment, fix final core labelling
* Fix stupid bit twiddling mistake
* None of the original mol's should actually match the cores with onlyMatchAtRgroups
* Convert PRECONDITION to CHECK_INVARIANT
* Run clang-format
* use nullptr instead of 0 for pointers
* Handle cases where molecules don't have anything for an R-group properly.
Here's the python demo of the bug:
```
In [14]: scaffold2 = Chem.MolFromSmiles('c1c([*:1])cncn1')
In [15]: scaffold = Chem.MolFromSmiles('c1c([*:1])cccn1')
In [19]: mols2 = [Chem.MolFromSmiles(smi) for smi in 'c1c(F)cc(O)cn1 c1c(F)cncn1 c1c(Cl)cc(O)cn1'.split()]
In [20]: print(rdRGroupDecomposition.RGroupDecompose([scaffold,scaffold2],mols2,asSmiles=True,asRows=False))
({'Core': ['c1ncc([*:2])cc1[*:1]', 'c1ncc([*:1])cn1', 'c1ncc([*:2])cc1[*:1]'], 'R1': ['F[*:1]', 'F[*:1]', 'Cl[*:1]'], 'R2': ['[H]O[*:2]', '[H]O[*:2]', '']}, [])
```
* Fixes#2471
* Tweak the scoring function to penalize non h matches considerably. Only full H rgroups get a one. Might need to tweak int the future
* Scale the hydrogens as 1/# mols unless they are a full group
* handle the heavy-atom degree queries differently
* Fixes#1563
* add a test for the heavy atom degree option
* Support (and test) adjustHeavyDegree in the cartridge too.
* test results
* Adds RGroupDecomp free function and python wrapper
* Fixes subtle bug, adds new RGroupDecomp API
* Updates results for the subtle bug fix. Verified results were correct.
* Removes smilesCaching.
* Changes RGroupDecompose ordering, adds docstrings and more tests
* Fixes#1550
* might as well update properties on the r groups too
* add option to remove Hs from sidechains;
expose a few more parameters to python;
expose ctor with parameter object to python