[PropertiesList]: Added PropertiesList class

Added the PropertiesList class, which allows us to use all types of
properties, rather than just ints.

Signed-off-by: Sebastian Lenartowicz <slenarto@uoguelph.ca>
[Properties]: Fixed memory deletion problem in PropertiesList

Added the Property class, which allows us to wrap around a single object
and use its built-in destructors when we don't need it anymore.
PropertiesList, as originally implemented, would have been unable to do
this.

Signed-off-by: Sebastian Lenartowicz <slenarto@uoguelph.ca>
[Properties]: Implemented Property and PropertiesList

Implemented the Property and PropertiesList classes, fixed a small error in
PropertiesList (bad definition of setFitness), and added them to the
global header.

Signed-off-by: Sebastian Lenartowicz <slenarto@uoguelph.ca>
[Makefile]: Added Property and PropertiesList to makefile

Added the new classes for properties to the makefile.

Signed-off-by: Sebastian Lenartowicz <slenarto@uoguelph.ca>
[Property]: Added <int> cases to Property

Gave Property the tools to deal with ints. Will add other types later.

Signed-off-by: Sebastian Lenartowicz <slenarto@uoguelph.ca>
[Individual/Property]: Fixed memory problems with Property class

Fixed some memory issues caused by the introduction of the Property and
PropertiesList classes.

Signed-off-by: Sebastian Lenartowicz <slenarto@uoguelph.ca>
[HierarchicalGenePool]: Fixed memory error in HierarchicalGenePool

Fixed a memory error in HierarchicalGenePool that was caused by attempting
to check the end condition on the old population after the generation had
run (doing this may result in memory issues, as not every member of the
old population is guaranteed to be there)

Signed-off-by: Sebastian Lenartowicz <slenarto@uoguelph.ca>
[Property]: Fixed minor memory bug for Property<int>

Fixed a minor possible memory bug in int-based instances of Property, which
was caused by trying to address an int that was located on the stack.

Signed-off-by: Sebastian Lenartowicz <slenarto@uoguelph.ca>
[Property]: Added getProperty() to PropertyBase

Added the getProperty() function to PropertyBase, so it can be properly
called by a fitness function that needs it.

Signed-off-by: Sebastian Lenartowicz <slenarto@uoguelph.ca>
[Examples]: Switched examples over to use new Property/PropertiesList classes

Rewrote the examples to use the Property and PropertiesList classes. They
don't really need it, but other (more complex) fitness functions with
more complex data structures might (which is the whole point of those
classes).

Signed-off-by: Sebastian Lenartowicz <slenarto@uoguelph.ca>
[Property]: Fixed potential memory problems in Property

Fixed a potential memory leak in Property, caused by the (formerly)
non-abstract destructor for PropertyBase being called. Also eliminated
the possibility of not allocating memory before using it in a
Property<int>.

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