Working random tree

Random tree now works as intended. Had to change the final modifiers on
the goal and root variables in tree, however copy constructors are used
by their getters so I feel this isnt such an issue. Ofc a tree subclass
could now set the root and goal in the subclass, but they could do it
other ways b4 hand