Improve BiomeGenerator and BiomeCache handling

The BiomeCache class has it's implementation moved to Common. Our cache
is more efficient for our needs than Mojang's cache, as it can better
handle virtual biomes. Our cache has very similar API to Mojang's cache
for now.

Previously, there was a biome generator called VanillaBiomeGenerator
that had to be special-cased. Now it's up to the implementation of
TC-Common (either TC-Bukkit or TC-Forge) to register a vanilla biome
generator that properly implements BiomeGenerator.

There is one area left where the VanillaBiomeGenerator should still be
special-cased. [Bukkit/Forge]VanillaBiomeGenerator gets its information
from Mojang's WorldChunkManager. The Biome(Gen)Base arrays are converted
to int arrays. If you would use TCWorldChunkManager (extends
WorldChunkManager) to get information from the BiomeGenerator, you would
get infinite recursion.  To make the code more maintainable, a check has
been added to the [Forge/Bukkit]VanillaBiomeGenerator classes (as well
as documentation to the class).
Redo BiomeCache API

Previously, the BiomeGenerator required a BiomeCache object in the
constructor. The BiomeCache itself required the BiomeGenerator, creating
an interesting circular dependency, that could easily lead to
StackOverflowErrors.

Now the biome cache itselfs implements BiomeGenerator and wraps another
BiomeGenerator. The original BiomeGenerator has no caching logic left
anymore.

When calling BiomeModeManager.createCached the biome generator will
automatically be wrapped into a cache. However, the vanilla generator
(or any other generator that returns true from the isCached method)
won't be wrapped into a cache, as vanilla Minecraft uses its own biome
cache.
Move setter to VanillaBiomeGenerator

TCWorldChunkManager now expects a BiomeGenerator in the constructor.
VanillaBiomeGenerator now has a setter for the WorldChunkManager,
instead of the class trying to find it by itself.

The code is not ideal, but the problem is as follows:

* TCWorldChunkManager depends on BiomeGenerator
* VanillaBiomeGenerator depends on (vanilla) WorldChunkManager

There isn't really a way to solve this, as WorldChunkManager has two
roles (both the vanilla biome generator and the biome generator
interface). We have no control over WorldChunkManager, so we have to
keep it like this until Mojang introduces a proper modding API.
Fix BiomeMode: OldGenerator being broken by 0ee3a23fc2795bc823b6b702ba381c2187110dcf