Moved no neighbour warnings for stars and BH from ghost loop to part_has_no_neighbours() to reduce output frequency.
What the title says.
The current warning triggers if a particle had no neighbours in the first iteration, which apparently happens quite frequently for stars.
part_has_no_neighbours() is only called after the ghost gives up on the particle, so this should only trigger the warning if a particle actually has no neighbours for the whole step.
I am still preparing another MR with ghost iteration statistics. Is it worth adding a no neighbour counter that also covers the first iteration?