removed invalid assert() from Genome class
moved gene_exists() helper method to OrderedCrossover header file
added hash() methods to Gene and Genome classes
added virtual constructor to ICloneable class