Crush: Ensuring at most num-rep osds are selected for indep rules

Crush temporary buffers are allocated as per replica size configured
by the user.When there are more final osds (to be selected as per
rule) than the replicas, buffer overlaps and it causes crash.Now, it
ensures that at most num-rep osds are selected even if more number of
osds are allowed by indep rule. The fix for firstn rules is already
merged as part of bug #9492

Fixes: #9492

Signed-off-by: Johnu George johnugeo@cisco.com