Added CascadeNetworkWeightShift and unit test.

Measures the shift in weights in a cascade network.
Added PerExpansionNNPerformanceChangeStoppingCondition.

It similar to NNPerformanceChangeStoppingCondition, but is only
performed when an expansion in the NN architecture is detected.

Changed dynamicPSOCascadeNN.xml to incorporate the new stopping
condition.
Fixed bug in XMLObjectFactory.

Bug occurs when attempting to use the addParameter method in
DiscreteParameterGenerator. An example has been added to frace.xml.
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>
Changed ChargedPopulationInitialisationStrat to use ControlParameter.
Fix bug in SpatialCenterInitialisation

- The average position is now returned correctly.
- Added unit test for SpatialCenterInitialsation and Diversity.
Fix vector sign operation
Merge pull request #162 from robgarden/vectorSign

Fix vector sign operation
Merge branch 'master' into topic/topology-removal
Update build definition

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Merge pull request #157 from censlin/chargedPopRatioControlParameter

ChargedPopulationInitialisationStrat to use ControlParameter.
Merge pull request #159 from robgarden/spatialCenterFix

Fix bug in SpatialCenterInitialisation
Correct failing VEPSO related code.

This might not yet be fully correct? Need to verify.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Merge branch 'master' into topic/topology-removal

Conflicts:
	library/src/main/java/net/sourceforge/cilib/algorithm/initialisation/ChargedPopulationInitialisationStrategy.java
Cleanup and corrections, based of @filinep's comments.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Correct separation of worker / onlooker bees.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Merge pull request #124 from gpampara/topic/topology-removal

Remove Topology, PopulationBasedAlgorithm and Function.
Merge pull request #143 from censlin/cnOldWeightChangeMeasurement

CascadeNetworkWeightShift and test.