3705: generalize PullList module to BlockWorkList

Full description at https://arvados.org/issues/3705
How about "A BlockWorkList is a work queue used for asynchronously processing blocks."