osd/OSDMap: ignore PGs from pools of failure-domain OSD
For testing purpose, we may create pools of failure-domain OSD.
In this case get_parent_of_type() will always return 0 and all
parents of these PGs' *up set* are considered as collided, and
hence the relevant pg_upmap/items are incorrectly removed during
the maybe_remove_pg_upmaps() procedure.
Fix the above problem by skipping these PGs and also try to be
more specific if we are unable to load the parent of a specified
PG.