added KnapSackSinglePointCrossover and added necessary pieces to driver
to complete crossovers