Await store.putFile so cache info is persisted #492 (#518)
* Await store.putFile so cache info is actually persisted
putFile, putFileStream, and downloads started persist without waiting.
After those calls returned, CacheObject.id could still be null, so
removeFile skipped the entry and a process exit could lose the info.
Fixes #492
* test: wait on persist with Completer and cover removeFile
Catch FileSystemException when deleting a stale cache file.
* Address review on persist await
Drop the extra Config import, wrap the long test lines, and document
that a failed cache-info write now surfaces to the caller.
* Bump flutter_cache_manager to 3.4.4
Move the persist-await changelog entry out of 3.4.3 and set the package version.
* Format the persist-await test for dart format