Randomize preference list per-thread.
Randomize preference list per-thread.

I'm noticing a weird behavior at FMN after restart.  All the threads lock on
each other and do basically zero work as they wait for one of them to query
pkgdb for individual users one after another.  Thread #1 queries pkgdb for
ralph's packages and Threads 2-10 all wait for it to be done before moving on
to the next preference to check.

This should make each thread step through the preferences in a random order
each time.  This means that while Thread #1 queries pkgdb for ralph's packages,
Thread #2 will query pkgdb for pingou's packages, and Thread #3 will query
pkgdb for till's packages, ..etc.  (Eventually all those package owning
relationships get cached and we stop querying pkgdb).

jeremycline/fmn,jeremycline/fmn,jeremycline/fmn