Added behaviour to Entity/AbstractEntity.

The behaviour is effectively a per-entity single algorithm iteration.
The idea is that all algorithms will eventually be implemented as
behaviours and an entity's type is determined by the behaviour
assigned to it.

ParticleBehaviour is removed, as it is now obsolete.

Added StandardParticleBehaviour. This is the behaviour most common
in the PSO field.

Modified a few of the PSO iteration strategies to use performIteration
in StandardParticleBehaviour.

Modified much code to use the new StandardParticleBehaviour in much
the same way they used ParticleBehaviour.

Updated the XML files to use the new Behaviour.
Behaviour should not be cloned inside AbstractEntity.
Fixed xml files.

Boundary constraints has to be set inside StandardParticleBehaviour.
Moved fitness evalution from iteration strategies to behaviours.

Fitness calculator is now set in AbstractBehaviour rather than
AbstractEntity.
calculateFitness has been replaced by updateFitness, which forces
the fitness to be calculated externally. Code that calls calculate-
Fitness has been changed accordingly in many places.

Added DoNothingBehaviour. This acts mostly as a stopgap for algorithms
that do not yet have behaviours. Also added this behaviour in the
constructors of entities that need it.
Merge pull request #199 from censlin/entityBehaviour2

Initial move of algorithm from iteration strategies to per-entity behaviours.
Probabilistic Guide Provider for PSO
Merge pull request #200 from robgarden/probabilisticGuide

Probabilistic Guide Provider for PSO
Angle Modulation Fixes

-AngleModulationProblem no longe converts binary solutions to erroneous double vectors
-OneMax now expects a binary input vector

Signed-off-by: Bennie Leonard <bennie.leonard@gmail.com>