Add API for manually creating deployments
For #22513 and gitlab-com/gl-infra/delivery#477 we need to be able to create deployments and environments using the API. Environments can already be created using the API, but deployments can not. For this to work we first have to make sure that GitLab can handle builds being optional, as outlined in #32578 (closed).
This depends on #32578 (closed), as without that one can not create deploys using the API.