[Hierarchical Gene Pool]: Introduced EndCondition class

Added the EndCondition class, which evaluates a given Individual to see
whether or not it meets the "end condition" - some predefined stopping
condition other than reaching the maximum number of generations.

Also included an example EndCondition, and updated all the examples to use
it (or explicitly not use it).

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