implemented checkerboard segmentation within utils
as discussed in !151 (merged), this implements checkboard segment partition logic within a helper function. batch.batch can now relatively easily be extended to include this possibility at the same time as the causal logic is implemented.