Can now distinguish between local vals/vars

The problem was that we're unifying val/var fields by always
comparing the getter symbol. The getter symbol of a local val/var
is NoSymbol, hence it would always return true, since
NoSymbol == NoSymbol.

The fix is simple. If it's a local val/var we need to treat it
differently than a val/var field, and simply compare the using the
isSameSymbol logic.

Fixes #1001775