Merge the virtualBiomes and ReplaceToBiomeName features into one

To do this, I had to rewrite a lot of code, which is why this task, that
sounds simple, was actually quite complicated.

We want ReplaceToBiomeName to change the savedId. This setting is read
after the LocalBiome instance was created and indexed. Postponing the
creation of the LocalBiome instance also wasn't an option, as the
BiomeConfig requires it to create the default settings.

The solution to this was to split LocalBiome into two classes: one,
still called LocalBiome, holds name and id of the biome, and one called
MojangSettings holds the default settings. The MojangSettings instance
is created before the biome is loaded, the LocalBiome instance is
created after.

BiomeConfigs don't depend on the LocalBiome instance anymore, it's now
the other way round: LocalBiome holds a BiomeConfig instance. Most of
the code now looks nicer thanks to this change. Unfortunately, the biome
generation code didn't really improve, as it does a lot of id-based
lookups.

Custom biomes don't need a MojangSettings instance to be created, as no
settings from Mojang are used for custom biomes.

The registry in StandardBiomeFactory has been removed, it's now
DefaultBiome's job to create it. StandardBiomeFactory has been renamed
to StandardBiomeTemplate, and StandardMinecraftBiomes has been renamed
MinecraftBiomeTemplates, a class that holds subclasses of
MinecraftBiomeTemplate.

The concept of NullBiome-s is gone. Now that LocalBiome instances are no
longer required to create BiomeConfigs, the settings can be checked
without creating a nonoperational LocalBiome implementation.