3705: generalize PullList module to BlockWorkList

Full description at https://arvados.org/issues/3705
I agree that we want to identify where the failure occurred, but we can achieve that without writing longer, harder to parse tests.

I assumed that go's testing package would have an option to show the full stack when an error occurs, but I haven't found such an option yet. Maybe they'll add it down the road.

Instead, you can add stack trace printing to the error message using one of the following:
http://golang.org/pkg/runtime/debug/#PrintStack
http://golang.org/pkg/runtime/#Stack