## Description
The main fix here is to add back merge of `file_use_defs` in the
`Symbols` struct accidentally removed in
https://github.com/MystenLabs/sui/pull/18270
It also finesses merging of `MappedFiles` struct a bit:
- re-implements a variant of `extend` function that allows duplicate
hashes (as this is a normal situation when merging symbolic information
(as most files will not change between symbol computations)
- adds `MappedFiles` extension on pre-compiled libs retrieval (as
opposed to having it only on pre-compiled lib computation)
## Test plan
All tests must pass plus verified that IDE support now again works
correctly