Added Spatial Selection

Nodes being chosen for crossover are now chosen as defined by the
adjMatrix specified in the selection.env. Note: the adjMatrix currently
doesn't behave like a true 'adjacency matrix', it is just a list for
each member of the population of its connections. All of the '0'
connections are just removed from our 'matrix'.

Also added a file which should hold all of the functions used to create
different spatial structures. These can be created in any manner, so
they are pretty unrefined and will be kept in the Testing Functions file
separate from the rest of the GA.
Save the number of mutations

We should be reporting the total number of mutations along with the rest
of the mutation stats.