Selection

Created a seperate class for selection strategies
Structural Changes

Selection, Recombination, Mutation and Reinsertion have been each been
put into seperate class files to make the code more modular and easier
to improve on.
Merge pull request #1 from zeroklone/ModularBranch

Modular branch