Use clang __has_warning macro to avoid unknown warning group '-Wsuggest-override' warning in older versions of clang that have the __has_warning macro but don't have the suggest-override warning.
Errors were showing up https://github.com/bitcoin/bitcoin/pull/10102/checks?check_run_id=4671391974 / https://cirrus-ci.com/task/4642955743985664