Refactored the getSolutions method in PSO as well as related topology implementations.

getSolutions method now returns solutions on a per-niche bases rather
than a per-neighbourhood bases. For most topologies, this will only
return the global best as most topologies do not have niche related
knowledge. Currently only SpeciationTopology has such knowledge (i.e.
the neighbourhoods corresponds to niches).