Changed crossover and mutation to take individuals instead of gptrees,
changed corresponding classes to reflect change and changed tests

extracted create child method in local observers