Long term commit

Here comes a long commit...

* AddPulse
Added zero gains when the FB type isn't 2 (otherwise the FB calculation
doesn't work)

* Controller
Set default values to 0
Erased deprecated LoadParameters function (replaced by Gen.Decode and
Controller.Set)

* Decode
When CheckGenome fails, instead of throwing an error, a random sequence
is used to allow the algorithm to continue running

* Genome
Fixed a wrong implementation of SwitchDir

* Mutate
Added a CheckGenome call even if no mutation happens, in case the
mutation is used on an invalid child genome
There are still some bugs that I didn't manage to catch which keep
throwing the 'Sequence outside allowed genome range' error... must
investigate further.

* RandSeq
Added some bug checks. So far no bugs caught

* GetTopPop
Avoided call to Pareto when there's just a single fitness function.
Instead the vector is sorted and returned as TopIDs.

* InitGen
Fixed a bug when loading an old file (changed to Progress+1 after
changing Progress on MOOGA.Run)

* MOOGA
Changed Progress' initial value, erased deprecated InitSim.
Added some fitness functions:
- EigenFit: runs Poincare and returns as the fitness the distance from
the unit circle of the largest eigenvalue.
- Uphill and Downhill fitness: Added some functions to calculate the
up/downhill fitness (max slope reached) either straight from the
simulation (if it already run on a slope) or by running a simulation on
a slope.

* Pareto
If input is single fitness then sort data and return as fronts (much
faster)

* MOOGA/Run
Added base genome decoding (if provided)
Started displaying some info: time to run, sequence in progress, etc

* RunSeq
Now displays the sequence

* Poincare
Now checks if some of the simulations didn't finish a step and returns
eigenvalues of 2.

* Simulation/Render
Now displays the IC error from step to step to show convergence

* Simulation/Run
There seems to be a problem calculating the step period sometimes so
we'll try another "back-up" way

* MOOGA/Plot
Added a plot method for displaying different algorithm results. Right
now it only plots the fitness over the generations.

* TwoMassJumper
Added a two-mass jumper model but didn't finish the implementation. It
can render a nice model though :)