Sexual Reproduction Fixed!!!... Hopefully

I finally realized why I was getting index out of bounds errors and
innovation IDs that wouldn't exist within the child genome (only seen
during sexual reproduction)... it was because I was too stupid to
realize that  bool
_connectionGeneDictionary.TryGetValue(ConnectionEndpointsStruct, out
ConnectionGene) (seen in
SharpNeatLib\Genomes\Neat\ConnectionGeneListBuilder.cs) returns true
only when the key value matches up (endpoints of a connection) and sets
a ConnectionGene object to a value that contains these endpoints... this
does not mean an innovation ID match! I was assuming that it would match
innovation ID if it matched endpoints, but such an assumption can only
be made during asexual reproduction. You wouldn't even be using
crossover (which uses ConnectionGeneListBuilder) if this is the case.
Anyway, my problem was that while connections with the same endpoints
would exist within the child genome, innovation IDs may not.

This project is so close to completion, I can taste it! That said, the
next things I plan to update are graph plots (they don't show up on my
computer), add a checkbox to enable runtime weights on the GUI, and
adjust speciation.