Add a Backup() method to the API client

This is a simpler change than my previous one.  It does not try to pull out the common HTTP request code.  In the interest of getting this done sooner, here's a patch with smaller scope.  It stays closer to the original patch from perrito666/voidspace.

Note: I've decided to punt on a full functional test for backup.  It is too heavy a lift for this changeset.  For now we can just rely on the CI tests that we have for backup/restore.
ExtractShaFromDigest or something in those lines sounds better for the name, also, is there another allowed algo? you make it sound as if there is (I have not read the RFC) so having the algo const have a better name would be nice too.