Support for multiple softening lengths in the gravity solver
Implements the following:
- Add background DM particles (type 2).
- Different softening lengths for DM, baryon and background particles.
- Background DM particles have a softening length that scales with mass^(1/3).
- Two particles interacting directly use the largest of the two softenings.
- The multipoles carry the maximal softening length of any particle within the multipole
- The multipole-multipole or particle-multipole calculations are only allowed if the distance is larger than the softening.
- Fixes #599 (closed).
- Update all the examples to use the new names for the softening lengths in the YAML files.
- Update the RTD description of the Gravity parameters and i/o.
- When replicating the ICs, replicate the black hole particles. Prevent replication when running with background DM.
Edited by Matthieu Schaller