feat: Add config to force 2FA for users

Currently 2FA is skippable in all the environments.

We need to force 2FA in prod later at some point, so there should be config to which forces 2FA is enabled.
<think>
PR Context:
- Title: feat(users): Add `force_two_factor_auth` environment variable
- Merged: 2024-11-05T14:59:29Z
- Files changed: 10 files
- Commits: 5 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [ ] New feature
- [x] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->
This PR will add force 2fa environment variable. When enabled it will force users to complete 2FA to access the control center.

### Additional Changes

- [x] This PR modifies the API contract
- [ ] This PR modifies the database schema
-
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** feat(users): Add `force_two_factor_auth` environment variable (#6466)
Files to modify:


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

**crates/router/src/configs/settings.rs**
  Modify existing code

**crates/router/src/core/user.rs**
  Modify existing code
{"issue_number": 4774, "pr_number": 6466, "commits_count": 1, "files_changed": 10, "response_length": 1065, "file_count": 5, "needs_breakdown": false}