[dev.link] cmd/link: add support for setting symbol File property
[dev.link] cmd/link: add support for setting symbol File property

Add loader methods to get/set the "file" symbol property.

In the legacy sym.Symbol struct, there is both a 'unit' field
(pointing to a CompilationUnit with package path, etc) and a 'file'
field. In the case of compiler-generated Go symbols, 'file' is
redundant (stores the package again), however for symbols read out of
a shared library (in the -linkshared case) it is important to be able
to record the file for a symbol.

With the loader, add a side table that can be used to store a file for
a symbol, and add methods for getting/setting file.

Change-Id: Iefceb8e7780f31457b658c099196de6e00be8aaf
Reviewed-on: https://go-review.googlesource.com/c/go/+/213421
Run-TryBot: Than McIntosh <4b2922593166fc595a9b1a408f34f5d3817fe9d2@google.com>
Reviewed-by: Jeremy Faller <b3f594e10a9edcf5413cf1190121d45078c62290@golang.org>

akutz/go,CAFxX/go,akutz/go,cloudflare/go,cloudflare/go,nawawi/go,CAFxX/go,CAFxX/go,golang/go,akutz/go,golang/go,cloudflare/go,golang/go,nawawi/go,CAFxX/go,akutz/go,nawawi/go,cloudflare/go,akutz/go,akutz/go,cloudflare/go,CAFxX/go,nawawi/go,golang/go,golang/go,CAFxX/go,golang/go,golang/go,nawawi/go,CAFxX/go,cloudflare/go,golang/go,akutz/go,nawawi/go,akutz/go,cloudflare/go,cloudflare/go,CAFxX/go,nawawi/go,nawawi/go