Fix issue, based on find_if, , re #8085

This is now more robust to numerical errors in bin limits, it passes all tests, including
new ones.
RangeUpper: use std::upper_bound rather than find_if, re #8085

upper_bound will be faster if any, and find_if is deprecated
Address complaint from cppcheck, prefer prefix--, re #8051
find RangeLower with std::lower_bound, neat, re #8085

This also fixes some issues in ChopDataTest
New tests for Integration alg, (ab)using real numbers, re #8085
constness fix, re #8085
Merge remote-tracking branch 'origin/bugfix/8085_integration_boundaries'