osd_types: pg_t: allow is_split to handle checks for splits prior to the most recent

There were a couple of problems here:

1- We weren't compensating for calls to check_new_interval from before the pg_t was split.  This is what triggered the bug, and the first few patches fix this symptom.

2- We weren't recording past intervals when the up set's primary changed.  This is what led to the situation where 1 could happen.  This fix is a bit more involved but pretty mechanical.