Make disable_warnings() disable all warnings
Make disable_warnings() disable all warnings

...including the optional ones. Previously, those were independent.

This is more intuitive, and it seems unlikely that you'd want some of
the optional warnings printed without having general warnings printed.

This is a small API behavior change, so the major version will be bumped
to 5 at the next release. Programs that enabled optional warnings
without enabling general warnings will be affected.

This means that all warnings now go through the same code path, which
will come in handy for later changes (making the warnings available in a
list, though with stderr printing still enabled by default).

Add some more documentation for the Kconfig.__init__() 'warn' parameter
and the enable_redun_warnings() function as well, and clean up the
variable naming a bit.

ulfalizer/Kconfiglib,ulfalizer/Kconfiglib