Changed FO & FOA and initialisation to swarm

Changed the way FOs and FOAs work to better reflect the use of each i.e. a FOA is created using a FO and not created given the parameters of the FO, this was a rather stupid way to do it. Moreover added the ability to initialise a swarm given some FOs and a number representing the number of particles in the swarm