[Chapel Merge] Expand CLS+Mason support

Branch: refs/heads/main
Revision: b18906abbdd68c51c2a68e0cc7be51f5f289ada0
Author: jabraham17
Link: Expand CLS+Mason support by jabraham17 · Pull Request #28672 · chapel-lang/chapel · GitHub
Log Message:
Expand CLS+Mason support (#28672)

Further improves the CLS+Mason support by having CLS interrogate mason
to determine mason dependencies.

The result of this PR is that if a user opens a mason project with
dependencies, CLS should be able to resolve everything in the editor
automatically with no extra work from the user (no chpl-shim, no
custom -M flags)

Requires Improve `mason modules` to allow for more structured output by jabraham17 · Pull Request #28671 · chapel-lang/chapel · GitHub

[Reviewed by @DanilaFe]

Compare: Comparing 6a2212e4698527224e0179ec237224c115d9e9b4...5d6a86098ef45e8a79e29f712492de87cb4cd64f · chapel-lang/chapel · GitHub

Diff:
M tools/chpl-language-server/src/chpl-language-server.py
M tools/chpl-language-server/src/lsp_util.py
A tools/chpl-language-server/src/mason.py
A tools/chpl-language-server/test/mason.py
M tools/chpl-language-server/test/show_generic.py
M tools/chpl-language-server/test/util/utils.py
https://github.com/chapel-lang/chapel/pull/28672.diff