Handle `DiffBlobs` requests with matching old and new blob IDs

When the DiffBlobs RPC receives a request to diff a blob pair with matching old and new blob IDs, it returns with a generating diff: diff parser finished unexpectedly error message. Normally a client should never request a diff to be generated with matching blob IDs because the files are the same and thus there is no difference. Once exception is when a client requests a diff for a newly added empty file. For this the request would contain a NULL OID and an empty blob ID. Since git-diff(1) does not handle NULL OIDs, Gitaly rewrites it to an empty blob ID. If the new blob is also empty, Git will generate the empty diff causing the Gitaly parser to fail.

Update the Gitaly DiffBlobs RPC to handle this case gracefully.

Related: gitlab!162171 (comment 2072392688)