Refactor disabling of third-party warnings

An unfortunate consequence of the previous implementation that generates two headers in the build system, that are then included in various files, is that it is impossible to use opm modules such as opm-core or opm-autodiff from a third-party library without using the opm build system (or copying the generated files or a similar hack).

With this change, they are regular files and will therefore be usable by clients of the library. There are checks that only enable the feature if you have a compatible compiler, and the SILENCE_EXTERNAL_WARNINGS option is honored.

Since Bård is on holiday, I leave it to @andlaus and/or @akva2 to review and eventually merge this PR, and its companion in opm-autodiff.