Adjust random ad selection to factor ad slots bought

Changed the way the random ad selection works so that it factors in the
number of ad slots a winner has won. For each winner, the number of ads
randomly chosen for that winner now corresponds to the number of ad
slots won for the most recent auction. In the end, a random but
non-exhaustive picking of winner's ads are chosen that match the number
of ad slots auctioned off.

In both cases where the user does not have enough ads to meet the number
of ad slots bought, or the number of total ads among all winners does
not match the total number of ads requested, the same ads are picked at
random to fill the number needed.

The algorithm may be adjusted again in the future to account for an
exhaustive search through the ads.