Gravity splittask (non-MPI)
This implements task splitting for gravity. Changes are:
- Split large gravity tasks (self and pair)
- Replace gravity pair tasks that are far enough with a multipole-multipole task.
- Re-order operations in a time-step.
The last item has been a long-running accuracy issue as we were always running a time-step after detecting that a rebuild is needed.
The task-splitting is currently not enabled over MPI. I will make this work alongside the periodic gravity over MPI in the next merge request.