Mutate std::array solution instead of individual

- Cuts down on memcpy by a bit, now as sparse as possible
- May want to switch double for float
- Sadly globalized dimension, rare case where it's needed
  - Can't declare std::array with const int declared
  - Need in multiple files, all of which include individual.hpp
  - Not quite "global" because of that
- Also changed "gen" to "engine" for random_generator
Rename gen to engine
Update problem for std::array mutate
Removed superfluous lines from main
Typedef float parameter, all double -> parameter

- Reduces memmove time from 50% to 40%
- No need for more precision
- Can easily change later when wanted
- typedef is "global" from individual.hpp, which all others include