Rewrite find_commits

Correct buggy [27fd3c86] for #185
Stop deleting objects on fetch if configured (only commits for now)

cf #190
Correct fetch pages without "link" if max one page

When only one page there is no "link" header so our `if` branch was
always called in this case, just to do an additional fetch that returned
a 404, which still count as a API call in the rate-limiting

cf #186
Stop deleting commits when not found in the FetchCommitBySha job

cf #190
Fetch commits before comments

cf #185
Fetch missing commits referenced in comments

cf #185
Use maximum per page if list not fetched recently
Merge branch 'feature/keep-deleted-commits' into develop

Fixed #190