OSDMap: Populate primary_temp values a little more carefully

In _get_temp_osds(), we populate temp_pg from the list in the OSDMap,
but we also skip anybody in the list who's down. We need to account
for those skips when setting the primary. It's easy enough to do -- just
look at the output pg_temp list instead of the OSDMap's starting one.

Fixes: #7177

Signed-off-by: Greg Farnum <greg@inktank.com>
Merge pull request #1111 from ceph/wip-osdmap-7177

OSDMap: Populate primary_temp values a little more carefully

Reviewed-by: Sage Weil <sage@inktank.com>