Corrected scaladoc in CrossoverSelector
Made Gene a class rather than trait
Added the add function to the Population class
bug fix: index out by 1 error
added RuleSet trait and a DefaultRuleSet trait, containing an
implementation
Changed all GA operators to be protected, they should only be accessed
by the RuleSets implementations