3705: generalize PullList module to BlockWorkList

Full description at https://arvados.org/issues/3705
Thanks for the excellent summary over chat about how this is used, I look forward to seeing it here!