Made the data saving process safe from potential concurrency issues that were previously present.
The settings.misc.data-file-save-frequency config option is now in seconds rather than ticks, and now has a default value of 5 instead of 100. Be sure to change this in your config.yml file if you want frequent saving, or delete it and allow a new one to generate.
The repeating async data saving task no longer uses the Bukkit scheduler, meaning it is independent on server ticks, meaning lag on the main thread will not halt data saving. It will also make sure to wait until a previous save task is fully completed before scheduling the next one, so there is no risk of overlapping.