Real-parameter Black Box 2009 Optimization Functions.
Made crossover guide provider work like it used to and not replace the gbest.
A few niching changes/additions

- Improved performance of speciation topology.
  Calculating the neighbourhood of a particle using the speciation topology
  is very CPU intensive and it generally only has to be done once iteration
  depending on usage. A perCall property is added to caluclate it for every
  call of neighbourhoodOf when true or once per iteration when false.
- Added a change detection strategy based on function evaluations.
Merge pull request #135 from filinep/xpso-changes

Crossover guide provider should not replace gbest.
Merge pull request #138 from filinep/speciationFix

A few niching changes/additions
Merge pull request #128 from robgarden/bbob2009

Real-parameter Black Box 2009 Optimization Functions (Noise free).
Addition vector and matrix functionality and discrete uniform distribution.