3705: generalize PullList module to BlockWorkList

Full description at https://arvados.org/issues/3705
Sure. I do want to make it explicit that the NextItem channel gets closed when the manager gets closed, but I suppose we can just say "...and the NextItem channel gets closed." :-)