Currently we don't cleanup dynamic index if a file is closed in clangd,
which may result in large memory consumption in clangd (if we open many files
and closes them).
This patch is the first step.
Yes, the usage of this method is not included in this patch.
We probably use this function in TUScheduler::remove, the code path will be like
TUScheduler::remove => ParsingCallback::onASTRemove => FileIndex::removeFile.
We need to add a similar interface to ParsingCallback.
It seems that we will have problems if calling it in ClangdServer::removeDocument.
When removing a file, we schedule a remove task in TUScheduler, and the AST thread will wait for all pending tasks to be finished and then exit.
An example like: