ci: -Werror test of a release build (and fix lots of warnings)
We've got these ASSERTED and unreachable() macros to use to keep release build warnings down, but nothing in CI was testing for that. Fix a ton of them and enable a bunch of code coverage to make sure we don't introduce new ones.