Fix potential infinite loop with unlocking of reused blockers

Fix problem found by Thông where reused blockers cause FairZ3 to loop for an unreasonably long time (infinite).

Unlocking reused, already-unlocked blockers would result in a no-op
while still keeping this blocker into the list of blockers to address.
This patch makes sure that reused, unlocked blockers are excluded from
the worklist.