Stub of backup api

This is a stub of the backup API that I am proposing for general comments.  The big question right now is how we download backup files.  I don't know how to do that through our current API infrastructure, since we would need to stream them off of disk, we can't just return a []byte in a results value, since a backup may be multiple gigs of data.

I think William will also smack me for not making this a bulk call, but I'm not sure how one would make this bulk, so feel free to let me know.

The general idea is that backup will run async, creating a backup file.  While it's in progress ListBackups will return the name of that backup as an in-progress backup, which you can cancel if you wish.  Once the backup is done, the file is moved to a canonical place on disk, which is where the list of backup files is read from and returned from list backups.
I'd rather not worry about cancelling. The backup op can complete just fine on its own, and a subsequent list will show it there and available to download.