3705: generalize PullList module to BlockWorkList

Full description at https://arvados.org/issues/3705
Can `expected` be of type `[]interface{}` instead so that we can use it in more places?