TableGen backend to generate .def warning files from .td files

Today I added a TableGen backend to generate our current .def warning files from TableGen .td files. This is part of the effort to provide fine-grained warning control for Clang. Moving the warnings over to a declarative TableGen format moves us closer to this goal.

Sebastian: Is it possible to regenerate (sync) the warnings .td files with the current .def files using the technique you used before? I'd like to test the TableGen backend to make sure that we're generating the same set of warning definitions.

After the backend generates equivalent (in functionality) .def files, the plan is to remove the .def files from Clang and have them automatically created during a build.

Excellent. Can you put the code necessary for that into the Makefiles,
commented out? I'll sync the tds over the weekend, and this way I can
easily switch over then.