Backups storage

Add a backups archive storage abstraction and do a little cleanup.
The preferred form is actually

```go
var _ filestorage.MetadataStorage = (*backupMetadataStorage)(nil)
```

This makes it a bit more obvious that the variable is of the type `filestorage.MetadataStorage` and a few less parentheses in the nil check.