3705: generalize PullList module to BlockWorkList

Full description at https://arvados.org/issues/3705
This is a wonderful example, thanks!