Add initial support for `scatter_reduce` (#4517)
* initial support for scatter_reduce
* Added cpp tests
* undo setup.py
* fix linter for cpp test
* move check_count out of for loops
---------
Co-authored-by: Ubuntu <ubuntu@ip-172-31-40-175.us-west-2.compute.internal>