Coevolutionary spatial GA running

The GA now has a working spatial coevolutionary GA. Spatial selection is
now working within the selection file. The spatial.selection.fn can be
set as a parameter in the GA, so other selection varieties can be
chosen. For some more specific mechanisms, the standard 'selection'
function can be overloaded as well.

Updated how evaluation works to accomodate the spatial selection
routines. We now evaluate all nodes which will be sent to the spatial
selection setup.
Coevolutonary spatial tester added

Added a testing function for coevo-spatial.

Also created a function to generate a basic grid (torid) structure for
any 'perfect square' number.