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
How does `block_sleep => 30, max_try => 30` sound?  I suggest the lower `block_sleep` since this is a lock that is more exposed to users than others (via `genome model build start`) and the higher `max_try` to be above the most common runtimes for CQID and BQM.