Wrote RandomSearch
Finished(tentatively) with GaussianConvolution.
Finished with TournamentSelection.
Fixed sQuality being called bestQuality in RandomSearch.
Added toString methods at the end of GaussianConvolution and
TournamentSelection.
Put the if (p >= r.nextDouble()) on the inside of the for loop, just
like the book says. Thanks Chase and Emma!
Modified TournamentSelection so that it takes a problem and a
population as arguments. This was done to be callable by the Genetic
Algorithm and to be consistent with Fitness-Proportionate Selection.
Changed the toString() methods so they have underscores instead of
spaces (don't want to break the world.)
Changed the for loop in TournamentSelection to be more groovy.
Changes made to Gaussian Convolution:
   * Got rid of the OnesMax import.
   * Fixed the for loop and the while loop.
   * Changed p to a float.
   * Made sure we are changing a copy of v, not the original.
   * We are wondering if we want to have the problem passed in (for
the purposes of min, max, and variance) or if we want the searcher to
pass that to us.

Changes made to Tournament Selection:
   * Changed "maximize" to "select"
   * Changed "t" to "tournamentSize"
   * Removed OnesMax import
   
Changes made to RandomSearch
   * Removed OnesMax import
   * Made rQuality
The initial version of GuassianConvolution and my short test for it.
This test doesn't pass at the moment because of some problems in
GaussianConvolution, but it won't be hard to get it to pass.
Got the tests for GaussianConvolution passing, and moved it to the
operators package. I also added some new tests that confirm that when
p=1 all the elements of a vector change, and when p=0 nothing changes.
Moved TournamentSelection to the operators package.
Got TournamentSelection to run and added some basic tests to it.
Added a random() method to BitStringProblem that generates a random bit
string. I'm a little worried that other groups have created the same
thing under possibly different names so we might have to do some
merging.
Got RandomSearch to run, and added a simple "smoke test" for it.
Merge remote-tracking branch 'ianrbuck/IanPhou'
Merge branch 'IanPhou'