a simple C# implementation of the fisher-yates shuffle used to randomize array elements without bias