Final version at time of alife publishing. Work to be done on starting/stopping evoluion.

NSGA evolution should have discrete evolutionary searches being run, not a single evolution search that is overwritten. This suggests helper search objects. How are they addressed by other win event callers? How to make sensible search that doesn't continuously eat up all thread resources.

These will be future design choices.