Fixes https://github.com/clangd/clangd/issues/170
This patch actually consists of 2 fixes:
- Add handling for UsingShadowDecl to canonicalRenameDecl(). This fixes the issue described in https://github.com/clangd/clangd/issues/170.
- Avoid the "there are multiple symbols under the cursor error" by applying similar logic as in https://reviews.llvm.org/D133664. This also partly fixes https://github.com/clangd/clangd/issues/586.
I'm not really happy with the name here, open for suggestions