[4.7] Backport additional diagnostic support from trunk

Squashed commit of r201574, r201467, r198900, r198331,
r197842, r197841, r196887, r196445, r193428, r192786,
r191757, r190215, r187845, r187355, r187134, r187123,
r186970, r186969, r186681, r186591, and r186305 from trunk.

This adds support for coloring errors, warnings, notes, carets, locus',
and/or quotes. Documentation for this feature may be found here:
http://gcc.gnu.org/onlinedocs/gcc/Language-Independent-Options.html