reimplemented crossover as recursive
added generate allele doc
added combinatorial doc
implemented variable length tests