Add functions to run the genetic algorithm (Stubbed)
Add fitness function
Added the crossover function

* Unflatten takes a flat array of values for a network and sets the values of
  the neural network accordingly
Add double cross-over
Add anular crossover function
Add Uniform parametrized crossover
Change interface to flatten and unflatten function
Mutations