Prepare chunk

Adds the `cWorld::PrepareChunk()` function that loads / generates a chunk and lights it.

Spawn preparation then uses this function.

Has additional benefits, such as providing callbacks when queueing chunks for loading, saving and generating.

Fixes #1615 
I don't think so, because we're changing the container while we're iterating over it.

However, a `std::remove_if` might work