Do not run cancelled jobs.
Don't block when canceling save jobs.
Process all events before saving.
Don't save files unnecessarily.

Automatic saving should be an extremely low priority process especially
for those, like me, with small save intervals (between 1 and 5 seconds).
Since we save often, saving is not a high priority and should not block
common user interface events.
Flush events before key UI activities.
Remove unneeded modules.
Revert "Remove unneeded modules."

This reverts commit e6a2988b8b863b626b0e3a1399b8b434b0b4542b.
Remove unneeded file.
Revert "Remove unneeded file."

This reverts commit 94349a123a91e0c21b3703579796a345287f0dd9.
Remove unneeded file.
Refactor save job scheduler module.
Refactor save job scheduler.
Refactor ActivePart

Add new string constants.