osd/PeeringState: give PeeringCtxWrapper a BufferedRecoveryMessages ref
The ref can be either a raw BufferedRecoveryMessages (buffering) or
a PeeringCtx (child class, no buffering). This avoids the need for a
member ref, and also means that we can (later) make methods take the
BufferedRecoveryMessages ref as a general interface to consume for both
buffered and non-buffered work that is outside of PeeringState.