## Description
This PR fixes a recently reported problem:
https://github.com/MystenLabs/sui/issues/19275
The issues was that `move-analyzer` was only using numerical addresses
to construct strings representing parsing-level and expanstion-level
modules to be used as map keys.
It works well unless someone will created a dependent module with the
same name as another module in their project, and packages containing
both modules are still unpublished (and thus have the same address).
This is still disallowed by our build system and would normally be
reported by the compiler, but since this compilation problem is
non-blocking, `move-analyzer` actually moves to the symbolication phase
and gets confused if two modules with the same address/name are present.
The fix is to make the name of the package (if available) part of the
string representing module map keys.
## Test plan
Added a new test replicating originally encountered problem. All new and
all tests must pass