osd/PG: recalc_readable_until -> recalc_current_readable_until

Rename this to reflect it is about the current interval only.

Signed-off-by: Sage Weil <sage@redhat.com>
osd/PG: recalc_prior_readable_until does not need PriorSet

We work directly from past_intervals.

Signed-off-by: Sage Weil <sage@redhat.com>
osd: queue PG on HeartbeatStamps if we want a higher consumed_epoch

If a prior peer OSD hasn't consumed an epoch that would preclude
readability for a prior interval, queue the PG on the HeartbeatStamps.  If
or when we get a ping or ping reply that indicates the OSD did consume
that map, poke the PG to recalculate the prior intervals' readable_until
value.

Make recheck_readable() a bit smarter and only recalculate those values
(slightly expensive) if the timestamps indicate we should.

We stop marking our info dirty if the first_interval_readable
bound advances just to avoid queuing a whole new transaction.  It will
get persisted soon anyway, and that particular bit of state isn't all that
important.

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