Fixed GP mutation implementation.

The mutate(double prob) method now filters through all nodes in the
tree, mutating only if a randomly generated number between 0 and 1 is
below prob. Before, it incorrectly assumed recursion, but now it loops
through already recorded paths.