Added some extra checking to save files.  We now only save every N seconds (settings.SAVE_LIMITER), unless force=True is passed in.  In addition, the json data is md5 checksum'd, so we can compare the previous version to the current version and not save if there haven't been any changes.