Release the background parser lock while creating parse jobs.
This fixes a deadlock due to lock order inversion. We often elsewhere
access the background parser while holding the DUChain lock. Here,
we used to lock the background parser and then potentially locked the
DUChain. This was desastrous.
The patch here now unlocks the background parser while creating the
parse job, and relocks it again to insert the job into its internal
data structurs.
Because the background parser only ever creats jobs from the main
thread, and only one at most, this is safe to do.
BUG: 355100