Changed the type of the input world_t to simulation_step to be const.

This reflects the fact that simulation_step reads from the first world, and
writes the next state of the world into the world_t struct pointed to by
the second param.

Also renamed simulateStep --> simulation_step.
Added const modifier to struct world argument to two functions,
valid_coordinates and find_adjacent_space.

Neither of the functions needs to modify the world structure, and calls
from the new simulation_step require the params to be const.
Progress on refactoring simulation.c

I have made significant changes to the body of the loop in simulation_step.
Previously, there were several if statements, extending over a hundred
lines or so, which I have replaced with a switch-case over the entity type.
Each case is quite short, calling util functions to implement the
operation, such as human birth/death or zombies infecting humans.

The util functions still need to be implemented.