Change the criterion for gravity task splitting to a relative depth instead of absolute
This may solve #479 (closed) and help with the gravity MPI performance issues.
We replace the criterion to split a gravity task which is currently based on the absolute depth of a cell by a relative one. We allow a cell to be split if it is more than N levels above the deepest cell in its sub-tree. This should prevent the presence of very long tasks and also solve the issue of some tasks linking to too many others because of the depth difference. At the same time it prevents the creation of a very large number of grav_mm tasks as tasks are split only in the region where there is a lot of action.
Note, I don't know what a good value for N
should be. I set it to 4 as a default and it passes all my test but some more challenging tests could help set a good default.