osd: send forced scrub/repair through scrub scheduling

This marks a PG for immediate scrub or repair.  Adjust the sched_scrub()
code so that we handle these PGs even when should_schedule_scrub is
false (e.g., because the load is high).  When we explicitly request a
scrub or repair, we then go through the normal scrub reservation process
to avoid unduly impacting cluster performance.

This is particularly helpful on argonaut, where the final scrub
finalization step blocks writes to the PG, and overlapping scrubs can
exacerbate the problem.

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