Complete rewrite of ChunkCache

Cause damn, did it ever need it.  Gross.

Fundamentally the same algorithms as before, but the code is much
cleaner.

ps- Changed the namespace of WorldPosition, don't worry about it