osd/ReplicatedPG: skip missing hit_sets when loading into memory

We weren't handling hit_sets that were missing.

Two changes here:

1- Load the hit_sets oldest to newest.  That means that if we stop partway
   through loading, and then add another to the end of the list, and then
   try again to load some more, we will still catch them all.
2- If the object is missing, stop.  We'll try again the next time
   agent_work() is called.

Fixes: #8077
Signed-off-by: Sage Weil <sage@inktank.com>
mon/OSDMonitor: fix osd epoch in boot check

This was introduced in 4c99e978a77a242e540cb8ccacb967d24322416c and was
incorrect; boot_epoch is the previous epoch the osd booted in, not the
latest map epoch that the OSD currently has.

Signed-off-by: Sage Weil <sage@inktank.com>
Merge commit '78df66f52084bd5ba354bb41edce98e032e4811b' into testing
Merge branch 'master' into testing
debug workqueue weirdness

I saw the work queue doing work after the drain returned, which was weird.