Performed code clean up

Tided code up as per ReSharper suggestions.
Added selection strategy

Created the ISelectionStrategy interface and a simple implementation.
Changed the PopulationGenerator to use an injected ISelectionStrategy
rather than having the method in the class.