Free monad encoding of gbest PSO

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
PSO with iteration strategy and example.

I'm not too happy with the structure traversals... need to clean it up

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