ReplicatedPG: always take recovery_read_lock for recovery

Signed-off-by: Samuel Just <sjust@redhat.com>
osd/: update peer_missing and local missing if we write a degraded object

Signed-off-by: Samuel Just <sjust@redhat.com>
osd/: don't block writes on degraded objects

Signed-off-by: Samuel Just <sjust@redhat.com>
PGBackend: rename clear_state to clear_recovery_state

This is called when we complete recovery, and does not clear
all state.  clear_recovery_state is clearer.

Signed-off-by: Samuel Just <sjust@redhat.com>
PG::purge_strays: purge peer_missing as well

Signed-off-by: Samuel Just <sjust@redhat.com>
Merge remote-tracking branches 'athanatos/wip-10059', 'athanatos/wip-7861' and 'athanatos/wip-7862' into wip-sam-working