Issue:
ci: add reusable workflow to create nightly tags in CalVer format

## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [ ] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [x] CI/CD

## Description
<!-- Describe your changes in detail -->
This PR adds a new reusable workflow to create tags in the calendar versioning (CalVer) format `YYYY.0M.0D.MICRO` (month and date are zero-padded, and the `MICRO` version number starts from zero) instead of the existing `release-new-version` workflow to create SemVer tags. The workflow uses a GitHub app token and GitHub API calls to commit the changes and tag them in order to have verified commits and tags.

The reusable workflow can be used like so (provided the secrets have been set up):

```yaml
jobs:
  create-nightly-tag:
    name: Create a nightly tag
    uses: juspay/hyperswitch/.github/workflows/release-nightly-version-reusable.yml@main # Or ...@<commit_sha>
    secrets:
      app_id: ${{ secrets.HYPERSWITCH_BOT_APP_ID }}
      app_private_key: ${{ secrets.HYPERSWITCH_BOT_APP_PRIVATE_KEY }}
```

Refer to [the docs](https://docs.github.com/en/actions/using-workflows/reusing-workflows) for more information.

### Prerequisites for using the reusable workflow

1. The first CalVer tag must be tagged manually (by some user), the workflow does not handle that case.
2. The workflow needs a `git-cliff` configuration file located at `.github/git-cliff-changelog.toml`.

## Motivation and Context
<!--
Why is this change required? What problem does it solve?
If it fixes an open issue, please link to the issue here.

If you don't have an issue, we'd recommend starting with one first so the PR
can focus on the implementation (unless it is an obvious bug or documentation fix
that will have little conversation).
-->
We will be using CalVer tags for daily tags, which will be used internally for testing, and SemVer tags for stable releases which are meant to be used by end users. 

## How did you test it?
<!--
Did you write an integration/unit/API test to verify the code changes?
Or did you test this change manually (provide relevant screenshots)?
-->
I temporarily updated the workflow file to run on this branch, the commits in this PR include the commits pushed by the bot. Note that the commits created by the bot are also signed.

One of the action runs: https://github.com/juspay/hyperswitch/actions/runs/7401505144

As a proof of the tag that was created by the bot, I'm including a screenshot of the tag that was pushed (which was since deleted). Note that the tag created is also signed.

![Screenshot of CalVer tag created](https://github.com/juspay/hyperswitch/assets/22217505/678a5b8e-2f41-42dc-bb3e-35eb755feafd)

The `2024.01.03-test-tag` had to be created manually by me because the workflow does not handle that case.

## Checklist
<!-- Put an `x` in the boxes that apply -->

- [ ] I formatted the code `cargo +nightly fmt --all`
- [ ] I addressed lints thrown by `cargo clippy`
- [x] I reviewed the submitted code
- [ ] I added unit tests for my changes where possible
- [ ] I added a [CHANGELOG](/CHANGELOG.md) entry if applicable


Resolution:
<think>
PR Context:
- Title: ci: add workflow to create stable SemVer tag for a given CalVer tag
- Merged: 2024-01-09T08:14:26Z
- Files changed: 1 files
- Commits: 1 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [ ] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [x] CI/CD

## Description
<!-- Describe your changes in detail -->
This PR adds a new workflow to attach a SemVer tag to a selected CalVer tag, thus creating a "stable" release intended for end users and deploying on production environments. The workflow also attaches the changelog since the previous SemVer t
</think>

To implement this, you'll need to modify:


(No detailed commit information available)