In anticipation of multiversioned target support (and just for
code sanity), this patch extracts as much of the X86 TargetInfo
CPU values into its own file, unifying the support.
This has the side-effect of being a touch more liberal in what it
accepts than GCC, though will normalize all values to the backend
to a much smaller list.
Note that this depends on a llvm change to 86.td that Craig promises
he'll do in the near future.
Our convention is for the .def files to be callee-cleanup: the .def file should #undef all the macros it takes as input, rather than them being #undef'd by the #includer.