Randomly select donor records given a probability weight vector. This sampling procedure is implemented differently than randSample_cpp to speed up performance of C++-function recordSwap().
NOTE: This is an internal function used for testing the C++-function sampleDonor which is used inside the C++-function recordSwap().