Move mutation probability inside user-supplied function to allow for corrected bit-flip mutation function
Implement elitism with a user-cofnigurable count