Add tests folder to CMakeLists to build unit tests
Add unit tests for evolve

Begin using unit tests for the development, should have really done this
from the beginning so that one is performing Test Driven Development all
the way through. Have made the following additional changes to the
sources:

- Rename struct evolve to population
- Extract some functions in run_evolution() to smaller functions