Some more improvements to the algorithm

* Controller
Added a saturation parameter to bound the controller's output.
Corrected a small bug regarding events.

* MOOGA
Changed the implementation of the fitness functions to be static (this
way they can be called without requiring a MOOGA instance)
ZMPFit now returns 0 if the robot didn't take at least 3 good steps.

* UpdateStats
Corrected a small bug when running the simulation with EndCond = [1,N]
(for N steps on end_slope)

* GAfine
Ran the algorithm with an increased number of torques per joint (higher
complexity)

* TestGen
Added some code for testing the genomes optimized by GAfine