Demangle C++ function names in coverage reports
Debugging the extraneous destructors in !211 (merged) was a little awkward since the current CI pipeline does not demangle C++ function names in the coverage reports. lcov actually has native support for C++ name demangling (using c++filt provided by GNU binutils) that converts fully mangled function names into their source names (i.e converting _ZN7corsika11environment15FlatExponentialINS0_12IMediumModelEED2Ev to corsika::environment::FlatExponential<corsika::environment::IMediumModel>::~FlatExponential()).
This MR just adds the --demangle-cpp flag to genhtml so that the coverage reports have nicely demangled function names. The latest coverage artifacts are available here.
NB: The difference between C-* and D-* constructors/destructors is still available with demangled names as lcov will append a .0, .1, .2, etc. for the corresponding C-* and D-* symbols which is useful!