add limit for shuffle function

add limit for shuffle function, allowing shuffling of only the number of elements needed (for example, only shuffling the 9 cards required for a heads up game of holdem rather than the whole deck).

This is a feature of the Fisher-Yates shuffle that can save time if you only need to pick a few values from a large set.