Fix PowerShell detection on non-Windows platforms
When running PowerShell on Linux/macOS, the `SHELL` environment variable
typically refers to the user's login shell (e.g., `/bin/bash`), not the
currently running shell. This caused `uv venv` to incorrectly suggest
using `source .venv/bin/activate` instead of the PowerShell-compatible
activation command.
This change:
- Adds detection of PowerShell via the `PSModulePath` environment
variable, which PowerShell sets on all platforms
- Adds `pwsh` (PowerShell Core binary name on Linux/macOS) to the shell
path detection
Closes #17869
https://claude.ai/code/session_01Te7pXTqHEuaoEiDxdRdkSp