3705: generalize PullList module to BlockWorkList

Full description at https://arvados.org/issues/3705
Let's actually test that the reader is blocked by listening on the channel with a short timeout here.

You can create a helper method to do this called expectChannelBlocked().

Let's move this helper method and others to a central arvados package so that we can reuse them in other arvados tests. We can call it channel testing or something like that.