ITS#8204 Improved RFC2782 shuffle when several, but not all, records have weight 0.

The fallback to a straight Fisher-Yates shuffle needs to occur whenever the
sum of the *remaining* weights is zero, or else the remaining records will
not be reordered. Testing only once at the beginning covers the case when
all weights are zero, and obviously no shuffling is needed when only one
weight is zero; but other weight combinations are possible, such as (1, 0, 0).
2 jobs for its8204 in 34 minutes and 46 seconds (queued for 1 second)