Improve Go to Metadata

This PR did multiple tweaks.

The most important change is to try to find locations of matching symbols when going to metadata. We get all symbols of the generated signature and match with the original symbol by full names and symbol kinds.

Close #683.