(PUP-1775) Acquire and block for Yum's lock to prevent corruption

Yum tools always attempt to acquire a global lock to prevent database
corruption by blocking.  This change adds lock acquisition to the yumhelper
which is called by the yum package provider, looping until either a timeout
is reached or the lock acquisition was successful.

Replaces #2387