Use storage_mtime when determining if we can reuse cached data while scanning

This fixes etag's being regenerated on storage backends that don't support touch

credit goes to @PVince81 

cc @karlitschek @DeepDiver1975