... and use the new macros from TokenKinds.def to remove the hard-coded lists of traits.
All the information needed to generate these enumerations is already present in TokenKinds.def.
The motivation here is to be able to dump the trait spelling without hard-coding the list in yet another
place.
Note that this change the order of the enumerators in the enumerations (except that in the TypeTrait
enumeration all unary type traits are before all binary type traits, and all binary type traits are before all
n-ary type traits).
Apart from the aforementioned ordering which is relied upon, after this patch no code in clang or in the
various clang tools depend on the specific ordering of the enumerators.
No functional changes intended.
These two can merged in a further patch.