Added setting + code + tests to allow files to be cache invalidated by appending a hash to the filename as per django staticfiles CachedStaticFilesStorage