Update gcc warning checks to work with colored output

Use -W indicators whenever possible, or more flexible regular
expressions so that our checks correctly match output with
-fdiagnostics-color. Also, enable a few extra warnings with some
of the currently used -W flags.

Based on the patch from Ryan Hill <rhill@gentoo.org>.
Use a single grep call for gcc warning checks

Use a single grep call with all gcc warning checks combined rather than
calling grep separately for each message being checked. Aside to being
faster, this also avoids outputting warnings in separate blocks.