ensure clangd is started for each project on it's own
Summary:
If you work on different projects, at the moment clangd is shared.
That doesn't work, as it needs a compilation database "per project".
Therefore: move the heuristic "what is the root" to the generic code
and use the root for the compilation database
Test Plan:
now, I get proper handling if I open different projects at once
before, the first project did win and all others did have
wrong compilation databases used
Reviewers: dhaumann, mnauwelaerts
Reviewed By: mnauwelaerts
Subscribers: kwrite-devel
Tags: Kate
Differential Revision: https://phabricator.kde.org/D22710