guweigang
## Summary
Fix two module resolution issues:
1. **Symlinked vmodules import**: Modules installed as symlinks inside `.vmodules` (e.g. `.vmodules/pkg -> /real/pkg`) were incorrectly classified as foreign projects, causing import failures.
2. **Temp dir v.mod pollution**: When tests run in temp directories (e.g. `/tmp/v_501/tsession_/...`), the module resolution walk could pick up an unrelated `v.mod` from a parent temp directory, causing the module name to include the full temp path with uppercase ULID characters. This triggered false `cannot contain uppercase letters` checker errors.
## Changes
### `vlib/v/builder/builder.v`
- Added `comparable_path` (normalizes without resolving symlinks) alongside existing `comparable_real_path`
- `candidate_belongs_to_foreign_project` now checks both resolved and unresolved paths, so symlinked modules inside lookup paths are recognized as belonging to the project
### `vlib/v/util/module.v`
- Extracted `is_unrelated_vmod_in_temp_dir` helper to deduplicate temp directory detection logic
- `project_root_vmod_folder` now respects `.v.mod.stop` and `.git` as project boundaries
- `mod_path_to_full_name` rejects `v.mod` files in or above the system temp directory when the relative path contains uppercase letters (indicating temp directory names like ULIDs)
### `vlib/v/tests/vmodules_package_compile_regression_test.v`
- Added `test_vmodules_symlinked_package_import_compiles` regression test
## Tests
All originally failing tests now pass:
- `hyphenated_module_path_test`
- `local_module_submodules_test`
- `projects_that_should_compile_test`
- `run_project_folders_test`
- `coutput_test`
- `vmodules_package_compile_regression_test` (including new symlink test)
- `compiler_errors_test` (1573/1573)
- All `module_*` / `import_*` tests (7/7)