Resolves Forge/Bukkit unloadWorld conflicts

These simple changes implement three things:
1. World saving is transferred to Bukkit completely.
2. World unloading is no longer delayed, as per DimensionManager behavior, so the world is unloaded on function return;
3. Call to DimensionManager.unregisterDimension() after unloading a world. Required to avoid "Dimension already registered" exception which breaks DimensionManager.

Original conflict example: https://gist.github.com/4524490 (Forge event fires twice, world is being saved twice).
This was running with unregisterDimension() already implemented as otherwise it was impossible to destroy and recreate worlds in one session.