Issue:
Fails to build with rust 1.77.0

### Bug Description

I have the following error with rust 1.77.0:
```
  --- stderr                                                                                  
  thread 'main' panicked at crates/router_env/src/cargo_workspace.rs:57:5:
  Unknown workspace members package ID format. Please run `cargo metadata --format-version=1 | jq '.workspace_members'` and update this build script to match the updated package ID format.
```

The format of ids in 'cargo metadata' has changed with cargo 1.77, it's documented here: https://github.com/rust-lang/cargo/issues/13528

### Expected Behavior

It should build.

### Actual Behavior

It fails to build.

### Steps To Reproduce

exec `cargo build` with rust 1.77.0

### Context For The Bug

```
  --- stderr                                                                                  
  thread 'main' panicked at crates/router_env/src/cargo_workspace.rs:57:5:
  Unknown workspace members package ID format. Please run `cargo metadata --format-version=1 | jq '.workspace_members'` and update this build script to match the updated package ID format.
```

### Environment

If not (or if building/running locally), please provide the following details:
1. Operating System: FreeBSD
2. Rust version (output of `rustc --version`): ```rustc 1.77.0 (aedd173a2 2024-03-17) (built from a source tarball)
binary: rustc
commit-hash: aedd173a2c086e558c2b66d3743b344f977621a7
commit-date: 2024-03-17
host: x86_64-unknown-freebsd
release: 1.77.0
LLVM version: 17.0.6```
3. App version (output of `cargo r --features vergen -- --version`): ``


### Have you spent some time checking if this bug has been raised before?

- [X] I checked and didn't find a similar issue

### Have you read the Contributing Guidelines?

- [X] I have read the [Contributing Guidelines](https://github.com/juspay/hyperswitch/blob/main/docs/CONTRIBUTING.md)

### Are you willing to submit a PR?

Yes, I am willing to submit a PR!

Resolution:
<think>
PR Context:
- Title: build(router_env): obtain workspace member package names from cargo_metadata more deterministically
- Merged: 2024-03-26T17:21:00Z
- Files changed: 3 files
- Commits: 1 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [x] Bugfix
- [ ] New feature
- [ ] Enhancement
- [ ] Refactoring
- [x] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->
ORIGINAL PR: https://github.com/juspay/hyperswitch/pull/4139
This PR updates the build script code to obtain cargo workspace member package names to use a better and more deterministic way to do so. 

Previously, we used to perform string m
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** build(router_env): obtain workspace member package names from cargo_metadata more deterministically 
Files to modify:


**crates/router_env/src/cargo_workspace.rs**
  Modify existing code