cmSourceFile: add accessors for PCH source files `cmLocalGenerator::GetObjectFileNameWithoutTarget` used a heuristic to detect PCH sources. Use the new special source types to detect them reliably instead.