Use assert() instead of abort() for CPPCHECK and -fanalyzer
Previously our DbC macros were redefined from the internal implementation of assertion failure to simple if (!(e)) abort() macros. Turns out that doesn't work that well with new GCC code analyzer (-fanalyze), so this commit changes the code to redefine our DbC macros to simple assert() if CPPCHECK is defined and NDEBUG isn't.