PG: make RecoveryState::rctx a boost::optional

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>