Generator: Shape initial refactoring.

The code compiles, but several structure generators are broken, crash on start.
First implementation for the LargeOakTree
Gen refactor: Implemented CompositedHeiGen.

This fixes crashes in the Village generator due to the missing generator.
DungeonRooms: Changed to work with the new shape generators.
ChunkDesc: Fixed comment about indexing.
Snow generator: Fixed failure at top of the world.
Generator: Fixed crash with trees too high.
Mobs: Fixed crash with terrain too high.
Changed comment
Suggestion by xoft
Added cImprovedNoise implementation.
Fixed include path.
Added cOctavedNoise template.

This allows us to use any noise generator in the combination of octaves.
OctavedNoise: linux compilation fixes.
Refactored cRidgedNoise into a separate template.

This allows us to make the ridges out of any noise and to combine the cRidgedNoise with cOctavedNoise.
Moved all Noise-related files into a separate folder.
Added a cInterpolNoise template for faster noise generator.

Used an instance of it in the Noise3D generator.
cOctavedNoise: Added a forgotten comment.
cOctavedNoise: Removed misleading comment, fixed assert texts.
cInterpolNoise: Implemented optimized 2D generating.
Merge pull request #1603 from mc-server/ImprovedNoise

Improved noise