Only relink parts and gparts when we actually have parts and gparts
Any reason not do this ? We spend some time linking things even when we don't have anything to link. That would speed up space_rebuild() and cell_split() in the cases without gravity, the latter of those to two being a scalar part of the code this could be quite important.