Lots of changes to the individual class.

Used the proper FNV-1a hash function and implemented it such that it is invariant under periodic transformations. Rewrote the mutation routines such that they can wrap around the end of vector. Added a routine to check the validity of the individual. Added operators to compare the difference between two individuals.