Updated default shuffling behavior for training and cross-validation

This pull request implements the solution proposed in #190 
> Yeah, a warning would be better, but it should only be printed if shuffle is set to false but grid_search is true.

Agreed.



> Also, KFold has a shuffle arg. Should we be using that? I think we may have already considered this.

We can't use that because we also have to shuffle the labels and IDs to keep everything in sync.