Further classify source files into languages

Other modules (notably the precompiled header one) may set properties directly on the source file; we need to separate them into categories for which language they belong to.

This changeset should have been part of some other which modifies the precompiled headers; I had in opm-verteq. There should be no changes for anyone that doesn't use LTO, and for those (few) who uses it, it shouldn't break anything, as I have been using it myself.