Run SHA fetching and conflict checking separately

SHAs were getting set very slowly since they could be stuck behind conflict
checking jobs in the GitQueue. This caused problems where two verify jobs
could end up both running after an edit, which would raise a GitError, as
well as the issue of external resources reliant on pickme SHA not being usable.

This patch breaks the GitQueue into two queues with two workers; one for SHA
fetching, that queries the remote, and one for conflict checking, which uses
the local git repo.
A pickme cannot be it's own duplicate

Don't throw a duplicate SHA error if you are comparing the pickme
to itself.
Merge pull request #83 from rschlaikjer/make-verify-realtime

Separate git sha retrieval from git merge conflict detection.

Use separate worker queues to run branch verification and git merge conflict detection. Git merge conflict detection takes more time and should not be blocking branch verification.
Fetch non-ff changes