Made enormous changes:

Fixed object used to store trees as a population so that elements were
easier to access and work with.

Elitism was returning null values since we were doing grabbin item
"size-index+1"

Made many methods out of chunks of code that were previously all
jammed into the main method (lack of time OP for making messy code)

Fixed probability distribution of functions

Population was doubling every iteration which explains a LOT of the
time issues!