Implemented some GA functionality and tests

* Implemented some of the functionality required for the genetic algorithm to
run and put in placeholders for functionality that is yet to be completed.
 -- Implemented functions:
   * __init__
   * create_initial_population
   * calculate_population_fitness
   * rank_population
   * create_first_generation
   * create_next_generation

* Created tests to cover some of the implemented functionality and created
placeholders for tests yet to be implemented.
  -- Implemented tests:
    * test_genetic_algorithm_initialisation_[1,2]
    * test_fitness_function
    * test_create_individual