fix a core when entity pool was full when building exhaust
do move_sparks in universe lock as spark pool was being called in different threads at the same time