[NonHierarchicalGenePool]: Fixed misimplementation of template

Fixed a misimplementation of the template class, so now it will actually
behave like a template. Still need to write some specialized functions
for primitive types.
[NonHierarchicalGenePool]: Added specialized functionss

Added specialized functions for a few standard primitive types (int, char,
double, and bool). Will add others at another time.