Fix parallel make

Flock does not have queueing, so it's very possible (and is consistently seen in some environments) that multiple threads will cause a timeout of one of the threads, thus failing the build.

Further, the createrepos only needs to be run once to pull in all SRPMs or all RPMs.

This change creates a queue which will run createrepos a minimum number of times, blocking make until createrepos has been run for that particular (S)RPM.