Added inertiaWeight setter in GCVelocityProvider.
Modified F-Race to sort the parameter configurations and to work with maximisation problems.
Merge pull request #151 from censlin/gcpsoInertiaSetter

Added inertiaWeight setter in GCVelocityProvider.
Added fold method to Objective.
Merge pull request #153 from filinep/frace-sorting

FRace additions
Removal of Topology and PopulationBasedAlgorithm

Topology was a fairly poor abstraction as the neighbourhood calculation
was the only valuable contribution it provided. It was essentially
List<E> + neighbourhood function. As a result, the neighbourhood functions
have been extracted into the Topologies class and a new function alias
has been created, namely: Neighbourhood<E>. All SinglePopulationBasedAlgorithms
now have the notion of a neighbourhood function, which can be used to
determine the neighbourhood of a specific element and defaults to the
GBest topology to keep the behaviour of the old code.

PopulationBasedAlgorithm was another broken abstraction which provided no
real benefit. It merely created confusion, especially in the cases where
multiple (sub)swarms where maintained. This has been removed and now
a clear distinction between Single- and MultiPopulationBasedAlgorithms
can be found in the code.

Additionally:
* Added support for static neighbourhood functions in simulator.

* Introduced HasTopology<E>

* Remove Function and replace with fj.F

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Move individual Neighbourhood functions to separate classes.

The simulator is a serious issue at the moment, resulting in this
rollback of some of the neighbourhood function changes.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Update code to incorporate new master changes.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>