Fix for GPU bound mapping bug.
Using CMake list append to define CUDA target ARCH
Major file refactoring. Unit test bug fix.

Changes:
* Switched from .h to .hpp header extension, to improve code language
  definition.
* Improved indentation for headers.
* Removed population initialization from the solver.
* Test bug: Initialize population before solver initialization.