osd: Add scrub_supported() backend interface

Signed-off-by: David Zafman <david.zafman@inktank.com>
osd: Move PG::_scan_list() to backend as ReplicatedBackend::be_scan_list()

Signed-off-by: David Zafman <david.zafman@inktank.com>
osd: Move the rest of scrubbing routines to the backend

Move enum scrub_error_type to osd_types.h
Move PG::_compare_scrub_objects to ReplicatedBackend::be_compare_scrub_objects
Move PG::_select_auth_object to ReplicatedBackend::be_select_auth_object
Move PG::_compare_scrubmaps to ReplicatedBackend::be_compare_scrubmaps

Signed-off-by: David Zafman <david.zafman@inktank.com>
common: buffer::ptr::cmp() is a const function

Signed-off-by: David Zafman <david.zafman@inktank.com>
osd: Change be_scan_list() arg to const

Signed-off-by: David Zafman <david.zafman@inktank.com>
osd: Change some be_compare_scrub_objects() args to const

Signed-off-by: David Zafman <david.zafman@inktank.com>
Merge pull request #1162 from ceph/wip-5997

Fixes: #5997

 Reviewed-by: Samuel Just <sam.just@inktank.com>