Somehow the bug where the first destination of the random permutation
pattern wasn't randomized (but instead defaulted to rank 0) returned.
This resulted in attempted self messages if terminal 0 is allocated
for the random permutation workload as it will, by default, attempt
to send messages to itself resulting in a failed assert.
This fix checks to see if the rank has generated any data yet. If
it hasn't, then it will pick a non-self random destination and will
send to that destination until the random permutation threshold has