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
I still think that doing this is purely from an implementation standpoint and not an API standpoint. If a plugin wishes to override the decorator being used, then the plugin can listen to the event with the HIGHEST priority and set it itself. Otherwise, this is something the Event should not dictate.