[clangd] Cache include fixes for diagnostics caused by the same unresolved name or incomplete type.

Summary:
Multiple diagnostics can be caused by the same unresolved name or incomplete type,
especially if the code is copy-pasted without #includes. The cache can avoid making
repetitive index requests, and thus reduce latency and allow more diagnostics to be
fixed (we limit the number of index requests for each parse).

Reviewers: sammccall

Reviewed By: sammccall

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, jdoerfert, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D58239

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@354268 91177308-0d34-0410-b5e6-96231b3b80d8
3 files changed