Added multiple level formats support, implemented McRegion

This branch adds a way to select between different formats from the settings, setting names and abstracting more things. **This bumps the API version to 1.2.0 (backwards-compatible)**

It also adds the McRegion format, that uses a different block order (like LevelDB). This is a temporal workaround for the CPU peaks when players join, allowing to send chunks directly without the need of conversion.

### Work to be done
* [ ] Add ZXY and YZX SimpleChunk classes, and a seamless way to convert between them.
* [ ] Level format block order detection, so the server chooses whether convert or not convert
* [ ] Add threaded ZXY -> YZX conversion (the reverse already exists)
* [ ] Work on threaded generator to support both block orders