`accumulators::mean` and `accumulators::weighted_mean` now compute the correct variance when `operator+=` is called, for example, when histograms with accumulators are added; this was wrong before leading to too small variances
Unit tests were rewritten to catch this error and do have a more clear structure. Comments were added to code and some doxygen strings fixed. CI tests have passed.
To explain, GCC expects bool with concept, or not, in varying
configuration combinations which have evolved over GCC versions,
including apparently point releases, which is deeply unhelpful. This has
led to repeated bug reports for not just Outcome, but also for ASIO and
many other C++ projects.
If this above fix doesn't permanently shut this constant source of bug
reports, I'll be permanently disabling legacy GCC concepts support in
Outcome. I couldn't be arsed with supporting how unpredictably broken
GCC is with this.