Backups storage

Add a backups archive storage abstraction and do a little cleanup.
Is a panic here really necessary? That seems pretty severe. Can't an error be returned instead?