[libclang] Deprecate CXIdxEntityRefInfo in favor of CXSymbolRole, for better reference highlighting


tl;dr ⚙ D42895 [libclang] Add `CXSymbolRole role` to CXIdxEntityRefInfo

In clang/Index.h at master · llvm-mirror/clang · GitHub,
CXIdxEntityRefKind is used to express Objective-C implicit reference
(I cannot found its use in C/C++).

CXIdxEntityRef_Implicit is assigned when a symbol occurrence has the
`Implicit` bit of enum IndexSymbol

It turns out that IndexSymbol has more roles (Read/Write/Call) that
fit well with Language Server Protocol `DocumentHighlightKind`, which
can be used to differentiate Read/Write references of a symbol.

I have a pending revision ⚙ D42895 [libclang] Add `CXSymbolRole role` to CXIdxEntityRefInfo to add
support for CXSymbolRole in libclang. I intended to deprecate
CXIdxEntityRefKind in my first version because the feature is fully
covered by SymbolRole. But my reviewer suggested me asking for API
deprecation opinions on cfe-dev. What do you think?

Someone told me Clion differentiates read/write references. With
SymbolRole exposed to libclang, other libclang users (e.g. some C++
language servers/IDE plugins) can benefit from this.

Also appreciated if someone could tell me who is the owner of libclang
or who can make these decisions about API deprecation.

//////////////////////// this is fully covered by SymbolRole
* \brief Data for IndexerCallbacks#indexEntityReference.