Allow star formation when running over MPI
This extends the current version of the code by allowing star formation when running over MPI. This means:
- Creating space for the spare particles only for local + foreign cells and not all top-level cells,
 - Sorting the spare particles only for local cells,
 - Discarding the spare particles when redistributing.
 - Fixing #560 (closed).
 - Fix a memory leak in the freeing of stars' sort array that follows the creation of a star,
 - Move the star formation task to the top-level since it does restructure the 
spartarray in the whole cell, - Add time-step communication tasks for each particle type rather than one single bundled operation.
 
The final step (coming soon in a separate branch) is to allow both Star formation and feedback at the same time over MPI.
Edited  by Matthieu Schaller