osd: handle pg deletion through peering wq

Go through the peering wq to ensure that *all* PG state is appropriately
cleaned up and reset.  In particular, we want start_peering_reset() to
get called so that the last_peering_reset is set and cancel_recovery()
happens.  That way when a racing push commits to disk, it sees the
last_peering_reset and doesn't do finish_recovery_op() twice.

This variation on broken pool deletion vs recovery was introduced by
6d8dfb18feb4ce263453039fc0afdb1462279e9a.

Fixes: #4257
Signed-off-by: Sage Weil <sage@inktank.com>