3705: generalize PullList module to BlockWorkList

Full description at https://arvados.org/issues/3705
Thanks for writing this test! I had trouble believing that the channel stuff would smoothly interweave nextItem requests and list updates until I saw this.