Backups storage

Add a backups archive storage abstraction and do a little cleanup.
This doesn't bug me too much the comment is mostly unecessary given that this is a common Go idiom