common/Finisher: add queue(list<Context*>&)

Signed-off-by: Samuel Just <sam.just@inktank.com>
osd_types: add pg_log_t::rollback_info_trimmed_to

Signed-off-by: Samuel Just <sam.just@inktank.com>
PGLog: initialize complete_to

Signed-off-by: Samuel Just <sam.just@inktank.com>
os/: add async flush_commit() method to Sequencer and implementations

Signed-off-by: Samuel Just <sam.just@inktank.com>
PG: add machinery to temporarily buffer outgoing recovery messages

Signed-off-by: Samuel Just <sam.just@inktank.com>
PG: block outgoing peering messages until the last interval is durable

Signed-off-by: Samuel Just <sam.just@inktank.com>
PGLog: fix logging whitespace in trim

Signed-off-by: Samuel Just <sam.just@inktank.com>
PGLog: add rollback_info_trimmed_to_riter to IndexedLog and use in PG

Signed-off-by: Samuel Just <sam.just@inktank.com>
osd/: plumb rollback_trim_to through interfaces and messages

We simply trim the roll back info up to min_last_complete_ondisk
since we cannot correctly rollback past that point anyway!

ReplicatedPG
-> PGBackend::submit_transaction
-> Backend messages
-> PGBackend::Listener::log_operation
-> append_log

Signed-off-by: Samuel Just <sam.just@inktank.com>
osd/: in scrub, check for and remove obsolete rollback objs

Signed-off-by: Samuel Just <sam.just@inktank.com>
Merge remote-tracking branch 'origin/wip-7999' into firefly-next

Backport of 830940bf242a73403ec1882a489e31f7694b7f7e
Merge remote-tracking branch 'origin/wip-8438' into firefly-next

Backport of c5b8d8105d965da852c79add607b69d5ae79a4d4