Various fixes related to the durable_sessions feature:
drop_generation operation can be replayed multiple times by the replication layer, but it's not idempotent. This PR adds a workaround that avoids a crash when drop_generation doesn't succeed. In the future, however, we want to make drop_generation idempotent in a nicer way.storage_layer:generation_at function didn't handle the case of dropped generations).format_status callback for several workers to minimize log spamend_of_stream detection to the layout CBM. Previously storage layer used a heuristic: old generations that return an empty batch won't produce more data. This was, obviously, incorrect: for example, bitfield-LTS layout MAY return empty batch while waiting for safe cutoff time.reference layout has been enabled in prod build. It could be useful for integration testing.bitfield_lts:handle_event callback that lead to missed safe cutoff time updates, and effectively, subscribers being unable to fetch messages until a fresh batch was published.