Niching fixes and additions

- Added new algorithms: ePSO, ferPSO, LIPS
- Fixed niching algorithms that weren't working as expected
Added gradients to many niching functions.
Merge pull request #205 from filinep/addingNichingStuff

Niching fixes and additions