Only cache PCH and completion results for files opened in editor
When opening large a project, we do not want to cache the PCH for all its files. This is only required for currently opened files, to speed up querying of code completion results.
For any other files, creating the PCH would just slow down the parse process needlessly and also wastes memory when we keep the PCH in memory through the temp files in /tmp. Note how we only clean the DUChain when the parse job queue is idle. This also means we don't detach the AST nodes and thus only discard the attached TUs once the overall project parse job has finished.