Add the -mmin-libc-version= flag to the driver and encode this into the module
level metadata. This will permit the backend to make certain code generation
choices with the knowledge that the target code will run on a minimum libc
version.
On Windows, this will enable us to enable a number of C99 math routines that are
available in MSVCRT 12.0+, though this is certainly not limited to Windows.
There have been cases where code generation on the Linux targets could do
something slightly different if it knew what version of libc it was targeting.
The module level metadata is needed to ensure that LTO does not break down.
When combining modules targeting differing minimum version, the selection of the
highest version should prevail (since older versions should work on newer, but
not vice-versa).