Added Quadtree and Octree implementation in one.
Switched to latest version of gestalt-module.
Removed extra date/release information from version number.
Changed engine version to snapshot.
Changed core version to snapshot.
Merge pull request #1350 from immortius/versioning-fix

Switched to latest version of gestalt-module.
Merge pull request #1347 from MarcinSc/develop

Added Quadtree and Octree implementation in one.
A very basic autosave mechanism.
Don't create a ModuleConfig that doesn't get saved.
Extracted createGAmeManifest and saveGameManifest methods.
Reduced autosave interval,
Simplified the creation of the GlobalStore.
Big unfinished change to save transactions:

The game takes now a snapshot on the main thread and writes it in a
background thread.

Performance isn't great yet: All chunks are encoded in the main thread.

The purgeWorld command got replaced by a save command, as the former
need to be reimplemented from scratch.

The chunk unloading has been disabled for now,
until it is ported to the new system.

Disconnecting players don't get handled properly yet, as their
state saving needs to be ported to the new system too.
Encode chunks off the main thread.
Limit the number of concurrent savings to 1.
Ported some StorageManagerInternal tests to the new API.
Make StorageManagerTest properly test the storage of zipped chunks.

It no longer extends from TerasologyTestingEnvironment as the creation
of the zip file system doesn't work ontop of a fake file system.
Simplified some StorageManagerTests by doing more in the test setup method.
Port the remaining StorageManagerTests to the new API.
Ported the chunk unloading to the new save system.
Don't stop the ChunkProvider as it can run concurrent with save snapshot creation.
Only include fully loaded chunks in the save.
Prevent crashes from corrupting the save game.

Changes to the save game get now placed in a subdirectory.
When there is an interruption before new versions of the files could
be generated in the directory then the directory will be deleted at
startup.
When the changes are complete, the directory will be renamed.
The name then indicates that the files should be copied over
the existing files. If it gets interrupted it can be resumed
at the next the world gets loaded.