[Selection Strategies]: Added new replacement strategy

Created some variation in SelectionStrategy by allowing both ES-style and
GA-style replacement to be used. Also changed over the original examples to use
GA-style replacement.

Signed-off-by: Sebastian Lenartowicz <slenarto@uoguelph.ca>
[Royal Road Example]: Added Royal Road example

Royal Road is a GA problem that examines the "building block" theorem in a
way that 1-max can't. Wrote a non-hierarchical version of it as a control,
with a larger population and bit-string length than 1-max.

Signed-off-by: Sebastian Lenartowicz <slenarto@uoguelph.ca>
[Core]: Added "properties" parameter to Individual for HGAs

Added a "properties" parameter to the Individual class, so higher levels of
the HGA can treat lower levels as being atomic.

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