Large updates to Particle Effects to allow for one time effects. Also
large tidy up of Particle Effect code.