OSDMonitor: when thrashing, only generate valid temp pg mappings

Since backfill peers are no longer placed into the acting set,
temp mappings will never exceed the pool size.  Also, for ec
pools, temp mappings will never be less than the pool size.

Signed-off-by: Samuel Just <sam.just@inktank.com>
OSDMap::_pg_to_up_acting_osds: use _acting_primary unless acting is empty

If the temp set for whatever reason has only CRUSH_ITEM_NONE,
we need primary to be -1.

Signed-off-by: Samuel Just <sam.just@inktank.com>
Merge pull request #1317 from ceph/wip-7537

Wip 7537

Reviewed-by: David Zafman <david.zafman@inktank.com>