reftable: allocations scale with number of blocks when iterating through records
The table and block iterators have somewhat complex lifecycle rules that leads to us re-initializing new block iterators on every new block. While not great, this is mostly fine for ref records because there we don't really have to track a lot of data. But for reflog records this is somewhat different because their data is stored compressed, so we have to reallocate the array of decompressed bytes for every single block. This causes a lot of memory churn when there are many reflog blocks.