Backups storage

Add a backups archive storage abstraction and do a little cleanup.
Finish returns an error, you should be asserting it is nil.