Cope with multiple streams using mixed check-sums

Note that the current list structure records the check-sum
at the block level which is a waste of memory (but fast).
We could record just the transitions (typically none), or
review this as part of a general optimisation of how to
hold the block index in memory for faster lookup.