Add constriction pso combinator.

Upgraded scalaz to 7.0.0-M7, but it seems that something has changed as
we can not longer call ".liftReaderT" on a Rand[A] (State[RNG, A])

Moved the `Opt` code into Fitness.scala.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Added vonNeumann neighbourhood function.

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