Add ISample interface to use different sampling classes
Update Roulette wheel to use ISampler interface
Add updated tests for roulette wheel
Add constructor for fitness proportionate selector