3168: Check internal git repository if the commit already exists before calling
fetch-pack.  Check if a job tag has already been created or not, and if the tag
already exists, that it points to the expected commit.
3168: Fail on git tag collision instead of putting job back into the queue.
3168: Instead of crashing using save! log an error and go to the next job.
Remove useless take() and untake() methods.
Merge branch '3168-crunch-git-fetch' closes #3168