New Gene constructor
Added comparator for diversity calculations. Initialize at random position around goal. Increased default mutation step 2->50. Mark children for evaluation after crossover. Retry mutation 50 times if illegal at first try.
canBuildHere() takes into account map data as well as unit and buildings.