Do not reallocate all the particles in engine_split().
Also, move the related engine_redistribute call into the engine_split() function.
This creates a memory usage spike at the start of a run for no good reason. I can't even recall why we ever wanted to copy the local particles from one array to the next. Clearly makes no sense any more.
Implements the (hidden) suggestion in #484 (closed). As such, fixes #484 (closed).
Edited by Matthieu Schaller