When triggering rename of the class name in the code with explicit destructor
calls, rename fails. Consider the following piece of code:
class Foo; ... Foo f; f.~/*...*/Foo();
findExplicitReferences will report two ReferenceLoc for destructor call:
one is comming from MemberExpr (i.e. destructor call itself) and would point
to the tilde:
And the second one is pointing to the typename and is coming from TypeLoc.
This causes rename to produce incorrect textual replacements. This patch
updates MemberExpr handler to detect destructor calls and prevents it
from reporting a duplicate reference.