Initial move of algorithm from iteration strategies to per-entity behaviours.

Moved code from iteration strategies to a behaviour that is executed on a per-entity basis. This includes the algorithms code, boundary constraint enforcement and fitness evaluation.

ATM only PSO related code implements this new approach, but this will form a base that other algorithms can use as well. More patches to be expected in this regard.