Find References now supports val/vars

It's now possible to find references to vals and vars

When searching for references to vals/vars we take into account
that there are more than one symbol associated with a val or var.
Vals will generate a symbol for the underlying field and a symbol
for the accessor method (getter). Vars will generate a symbol for
the underlying field, for the getter, and setter methods.

Setter methods can be invoked explicitly i.e. `foo.bar_=(42)` so
when we search for a var we also extend the search to include any
explicit calls to the setter.

Fixes #1001679 #1001722