[Lookup] Invisible decls should not be ambiguous when renaming.
For example, a renamed type in a header file can conflict with declaration in
a random file that includes the header, but we should not consider the decl ambiguous if
it's not visible at the rename location. This improves consistency of generated replacements
when header file is included in different TUs.
Differential Revision: https://reviews.llvm.org/D60257