Locking around build_requested for race condition (AUE-382)

Lock around build requested to avoid a scenario where builds that are requested are not made.

Would especially like input from @nnutter and @tmooney
CQID occasionally runs for thirty minutes, and it routinely takes five if there's work to be done.  To avoid frequent failures we probably need a higher `max_try` count than 3.