Fix biome cache getting corrupted

As usual, it's very difficult to find the cause of a bug. When you have
found it, it is trivial to fix.

Ini this case weird patterns of Mesa sand were sometimes generated by
the surface populator where there should be Plains grass. A Mesa biome
was nearby. I thought this would be a chunk rotation issue, or a case of
using unzoomed biomes instead of the zoomed ones. I was wrong.

When standing on those patches where the surface generator errored out,
sometimes /tc biome would report the surface block that accidentically
generated, sometimes it would report the biome that should have
generated.

I typed /tc biome, it returned Mesa, matching the weird spot on the
ground, but it should have been plains. I went to another patch of mesa
sand, and it returned Plains. Went back to the original spot, and not it
returned Plains.

This pointed to an error in the biome cache. I added debug lines
everywhere, which became so spammy that is wasn't useful at all. I
limited the debug lines to a single chunk (if
(chunkCoord.coordsMatch(0,3) { ...debug lines.. }). When creating a
cache block, the correct biomes were printed. Yet somehow the surface
generator and /tc biome got the wrong ids sometimes.

I added code to display exactly what was returned every time the cache
was accessed. The logs became extremely spammy again, but I noticed that
it returned different biome ids sometime. Something must be modifying
the cache blocks after they are created...

Returning a copy of the interal cache array fixes the problem.
Minor cleanup

While investigating 7c9d53cddfbf2e4b46cb66e212de4f5f1893a402, I found a
few easy things to improve in the code.

* Improved documentation of ownership of the biome arrays in
BiomeGenerator.
* Fixed typo in BiomeGenerator documentation (biome ud -> id).
* Removed unused WorldConfig variable in NormalBiomeGenerator.
* Replace some magic chunk size numbers with constants.
* Added BiomeConfig parameter to SurfaceGenerator, to avoid double
lookups and make code more flexible.
Switch to Spigot mirror for Bukkit

CraftBukkit has been taken down at its original location. Luckily Spigot
has a mirror of the latest (last?) CraftBukkit build.