Make deployment builds optional
Deployments triggered using GitLab are associated with a build. This is because the feature was built with the intention of recording/triggering a deploy using GitLab CI.
GitLab itself, but also others, have the need for manually recording deployments. For example, GitLab currently runs deployments using a separate repository, but we wan to record deployments in gitlab-org/gitlab. Support for this is one of the steps towards allowing external deployments, as needed for #22513 (closed).
On database level the "deployable" is optional, and there is no Rails validation for it either. However, queries to obtain deployments from environments may need to be adjusted. We also need to make sure that the UI can handle displaying deployments that do not have an associated build.