Detect whether cc (the linker) is gcc or clang.

Detect whether cc (the linker) is gcc or clang.

Use this information to drive which options are added to the `cc`
command line arguments.

As a drive-by, fix an english grammar mistake in a comment.

This is meant to be, in part, a more robust version of PR #17192.

Fix #17214.
I considered this (i.e. making `get_cc_prog_string` public).  I justified keeping it private based on the thinking that people using `get_cc_prog` should be immediately prompted to consider what kinds of arguments they are adding.

You think the invocation and string searches are too much overhead?  Maybe then I should be attaching this info to the session, lazily...