This commit adds the notion of a test case into the `lfs.Batcher` tests. Each
test case has three properties:
- the batch size
- the number of batched items
- whether or not the batcher should exit
This commit also adds a helper func called `assertAll` which processes a set of
test cases, throwing assertion errors into the `*testing.T` along the way.
On the other hand, this commit does not contain any utilities to assert that a
deadlock will occur when feeding items into a Batcher, i.e., when the batch size
is set to 0.