Issue:
feat: Create a decision starter API for email flows

As we have split the API flows, there is no API to trigger the email specific flows like Verify email, Accept invite from email, etc...

For this API to work correctly, email token should have the information about the origin.

Resolution:
<think>
PR Context:
- Title: feat: Add decision starter API for email flows
- Merged: 2024-05-06T07:23:35Z
- Files changed: 10 files
- Commits: 10 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [x] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->
- Create a new API `from_email` which will take email token and give the token for the next flow.
- Add `flow` field in email token which will help `from_email` API to decide the next flow. 

### Additional Changes

- [x] This PR modifies
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** feat: Add decision starter API for email flows (#4533)
Co-authored-by: hyperswitch-bot[bot] <1485255
Files to modify:


**crates/api_models/src/events/user.rs**
  Modify existing code

**crates/api_models/src/user.rs**
  Add:
    - struct: pub::UserFromEmailRequest

**crates/router/src/core/user.rs**
  Add:
    - function: pub::user_from_email

**crates/router/src/routes/app.rs**
  Modify existing code

**crates/router/src/routes/lock_utils.rs**
  Modify existing code

**crates/router/src/routes/user.rs**
  Add:
    - function: pub::user_from_email

**crates/router/src/services/email/types.rs**
  Add:
    - function: pub::get_flow

**crates/router/src/types/domain/user/decision_manager.rs**
  Add:
    - function: pub::get_token

**crates/router_env/src/logger/types.rs**
  Modify existing code