Re: changing transaction code  Since cleanedIndex is not created until here, we need to delay appends. Originally it was created at the start of `cleanSegments`. In that method, we now can not guarantee the log has been created until `cleanInto` returns with a defined `cleanedSegment`. In `cleanInto` there is a chance to call `onControlBatchRead` which previously just appeneded transactions, but can no longer do so if `cleanedIndex` is not defined.