[Individual]: Added proper copy constructor

Added a proper constructor for copying, to let us PROPERLY deep-copy
an Individual (including its properties and Genome).

Signed-off-by: Sebastian Lenartowicz <slenarto@uoguelph.ca>
[Individual/GenerationModels]: Removed unnecessary fitness evals

Removed some unnecessary fitness evals by FINALLY implementing a
"getFitness" function in Individual, rather than having it re-evaluate
each time around.

Signed-off-by: Sebastian Lenartowicz <slenarto@uoguelph.ca>
[1max/Hier1max]: Fixed bug in Hier1max

Fixed a bug in Hier1max that was masked by the old copy function, caused
by incorrect array indexing. Also fixed it in 1max, though it doesn't matter
there.

Signed-off-by: Sebastian Lenartowicz <slenarto@uoguelph.ca>