common/sharedptr_registry.hpp: add remove

remove() can be used to clear an entry before all of its
references are removed.

Signed-off-by: Samuel Just <sam.just@inktank.com>
OSD: add pg deletion cancelation

DeletingState now allows _create_lock_pg() to attempt to cancel
pg deletion.

PG::init() must mark the PG as backfill iff we stopped a deletion.

Signed-off-by: Samuel Just <sam.just@inktank.com>
osd_internals/pg_removal.rst: update for pg resurrection

Signed-off-by: Samuel Just <sam.just@inktank.com>
PG: no need to wait on DeletingStateRef for flush

Signed-off-by: Samuel Just <sam.just@inktank.com>
osd: remove_dir use collection_list_partial

Signed-off-by: Samuel Just <sam.just@inktank.com>
OSD: rename clear_temp to recursive_remove_collection()

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