filebackend: avoiding computing file SHA-1 hashes unless needed
FileBackendStore already supports stat info not returning SHA-1.
Build on that logic with a "requireSHA1" parameter to getFileStat()
to move some logic from SwiftFileBackend to the parent class and
avoid computing missing SHA-1's for Swift when nothing actually
requested the SHA-1. Only getFileSha1Base36() needs to trigger this
lazy-population logic.
Note that thumbnails only use doQuickOperations(), which does not
need to examine SHA-1s, it only does regular getFileStat() calls.
Also renamed addMissingMetadata() to addMissingHashMetadata().
Bug: T204174
Change-Id: I2a378cb2a34608a6da2f8abe604861ff391ffaa7