I Like to Move It
Merge remote-tracking branch 'origin/matt'

Conflicts:
	Makefile
	constants.h
	simulation.c
	world.c
	world.h
Documentation of structures and functions, ...

fixed finishStep
removed tiredness and lastSlept attributes of LivingEntities
Got rid of planned deaths, fixed finishStep.

And changed colors a bit.
Parallelization; thread pool is created once.
Plotting script which reads from stdin.
Documentation and TODOs, and some parallelization changes.
Parallelization done right.

1) Parallelization didn't work as expected when regions are used in functions.
2) Image creation and population count is parallelized.
3) Added OUTPUT_EVERY environmental variable whcih controls output.
4) Pregnant women are painted with different color.
5) Allocator is thread-local which means there are no conflicts and critical regions are not necessary.
6) Iterations over directions whcih returned first found were randomized.
7) Used function getMaxSpeed to model slower movement of entities.
8) Function finishStep was reworked and its parallelization was tested and proven to be unhelpful.
Reordered the loops in simulation_step so that the outer loop steps through
the first matrix index and the inner loop steps through the second, to take
advantage of caching as discussed previously.
Changed valid coordinates argument names row-->y column-->x
Merge branch 'master' into matt

Also renamed world_t --> World, and tile_t --> Tile. This commit compiles,
but fails on linking, owing to the needed util functions in simulation.c.

Also need to change some loops to make sure that x and y are used as the
first and second dimensions of the matrix, respectively.

Conflicts:
	apocalypse.c
	entity.c
	entity.h
	random.h
	simulation.c
	simulation.h
	world.c
	world.h
Changed loop indices in simulation.c, so that the outer loop steps through
the first matrix dimension, and the inner loop does the second dimension.

Also renamed row and col variables to i and j.