Extended World API

Adds a lot of methods to the world and chunks as discussed here: https://github.com/SpongePowered/SpongeAPI/issues/256

**Small Overview:**
- `Server`
  - `createOrLoadWorld(...)`
- `Events`
  - `ChunkPreGenerate/Populate/DecorateEvent`
  - `ChunkPostGenerate/Populate/DecorateEvent`
- `StorageContainer`
- `World`
  - `getStorage()`
  - `getExistingRegions()`
  - `getExistingChunks(...)`
  - `getChunkData(...)`
  - `deleteChunk(...)`
- `Region`
  - `getStorage()`
  - `getExistingChunks(...)`
- `Chunk`
  - `getWorld()`
  - `getChunkData()`
- `ChunkData`
  - `get...Position(...)`
  - `getChunkState()`
- `ChunkState`
  - `NOTAVAILABLE`, `GENERATED`, `POPULATED`, `DECORATED`, `LOADED`
- `ChunkGenerator/Populator/Decorator`

RFC
The idea behind that was that chunk data may become available when a region is loaded, but the actual chunk this data belongs to may not. This will return absent if the chunk is not loaded.