OSD: respect recovery deferral and pausing, move into OSDService

First, we move the recovery queueing machinery into OSDService for
simplicity and clarity.  blocked_recovery_ops holds recovery ops
pending while recovery is paused or deferred.  During tick(), we
scan the blocked_recovery_ops list to discard any obsolete ops to
avoid building up an unbounded number of obsolete recovery ops.

Signed-off-by: Samuel Just <sjust@redhat.com>