Improve the testing situation for the `PostReceive` worker and the services it calls.

Noted in https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/26726/diffs#note_157921085

The PostReceive worker does a very important job - it processes git pushes made against the application. Currently, our tests for this are slow, and their coverage is not particularly clear. I think we duplicate some areas of coverage between spec/workers/post_receive_worker_spec.rb and spec/services/git/*, and it's quite possible that other areas aren't covered at all.

We should go through these files and make the tests squeaky-clean.

Assignee Loading
Time tracking Loading