Don't reuse contexts when local scope identifier changed.
My last commit that 'fixed' the rename issue of a class introduced
a serious regression that lead to assertions in e.g. the CodeModel
when a context was renamed that contained other contexts/declarations
that where already put into the CodeModel:
In such cases, these items would try to update their item in the
codemodel but since their QID was changed could not find the associated
item.
Looking at DUContext::setLocalScopeIdentifier this is apparently not
supported anyways. Hence we solve this bug by ensuring that we never
re-use a context when it's local scope identifier changed, but the
range stayed equal.
Fixes a regression introduced by 880452719b9c5072e7273959d60f857397063caa.
BUG: 299230