Backups storage

Add a backups archive storage abstraction and do a little cleanup.
Do you really need both NewOrigin and NewOriginFull? NewOrigin is only called twice - once in implementation and once in a test. Why not only have the "full" version?

At any rate I'd call NewOriginFull NewOrigin (and NewOrigin something else if you decide it needs to stay - it's the specialisation).