Implemented Mutations and Crossover functionality. Added toString functions for Node subclasses. Generalised "Function" as a superclass of Binary/Unary Functions (this is for the mutate function, although I will move this to Node in the future).