Implemented GA with crossover, improved code

GA with crossover is implemented, moved algorithms into defs, modified
how population generation is handled