Merge branch 'star_particles' into 'master'
Star particles and gparts links over MPI A big bundle of changes: - Introduce star particles. At the moment they are empty shells but they are ready to be used. - An `spart` is always linked to a `gpart` and will receive its gravitational forces from there. - A `gpart` now contains an enum containing information about whether it is linked to a `part`, to an `spart` or to nothing. - Added a more comprehensive test to check that the part<->gpart and spart<->gpart links are correct after every rebuild or MPI transaction. - `spart` get kicked and drifted and get their time-step computed. - `spart` are read-in and written to snapshots (only if running with `-S` for now). - Only the particle types that will be used are now read from ICs. Speeds-up the starting up process. - Corrects many incorrect communication of `gpart` over MPI. With this in we can run the EAGLE_25 over MPI with gpart and spart activated (e.g. `swift_mpi -s -g -S -t 16`). Note that this does not fix the remaining bug in #256 (Now fixed independently). See merge request !310