Introduce direct relation between pipeline and merge request
Currently, relation between pipeline and merge request is indirect.
We use commits stored in merge requests diffs to find SHAs, which is a little tricky. It may also sometimes require access to the file system what is inefficient from performance perspective. We will benefit from improving this relation. We need to think how to solve that and ensure backwards compatibility.