Fixed incorrect instance shuffling algorithm.

There was a minor implementation bug in `base/instances.go` in regards to the `Shuffle()` method on `Instances` that causes it to create a non-uniform distribution of shuffle permutations. I've changed it to implement the correct Fisher-Yates algorithm.