Many changes made. Cleaned up the code quite a bit. Removed 60 lines of
trash code which was pickRandomNode() and pickRandomNodeWithLimit().
Made one generic method that allows you to insert a tree height to
determine which nodes you want to work with. 
Removed depth field in node, now it's just replaced with a getDepth()
method.
Implemented NodeMaker class so we can make our own nodes instead of
working with randomly generated trees, making testing so much easier.
Should have done this from the start.
Cleaned up a bunch of other little things.
Moved mutate/TS/crossover/reproduce to a new Genetic Operators class.