switched to using round robin instead of random

also added some logic in case gearman clients are offline (see _pickConnectedClient)