Create annotated tags with Releases API
### Release notes
Previously, you were only able to create lightweight tags when using the Releases API to create a release. With this update, you can now add an optional `tag_message` parameter to create an annotated tag when creating a release. This enables you to include relevant information along with the new tag so downstream users and application can have additional context.
### Problem to solve
It is now possible to create automated releases from CI jobs, because the `CI_JOB_TOKEN` gives access to the Releases POST API, either manually (https://gitlab.com/groups/gitlab-org/-/epics/2510#note_278101632) or with the `release` job parameter (https://docs.gitlab.com/ee/ci/yaml/#release).
However, although one can create a tag with this, it looks like only lightweight tags are allowed. It doesn't seem to be possible to create _annotated_ tags from CI jobs.
### User experience goal
If a CI job can create a tag and a release, why can't it create an annotated tag?
### Proposal
- Add an argument `message` to the [Create Release API](https://docs.gitlab.com/ee/api/releases/#create-a-release), to create an annotated tag. If a tag can be created by releasing, it could be annotated too.
### Further details
Some applications rely on annotated tags. For example by default `git describe` looks for annotated tags and not lightweight ones.
### Permissions and Security
* [ ] Maintainer (40) members should be able to create annotated tags with the Release API
* [ ] Owner (50) members should be able to create annotated tags with the Release API
issue