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.
So I should be clear that we probably want to be able to have an abstraction where we do request the URL and then we actually do the fetch at that other URL. We're looking to change '/logs' and '/charms' so that we have that abstraction (so that we can get away with changing things final resting places without having to rewrite lots of clients).
I don't think I would call it Download, since it isn't actually the bytes. GetDownloadURL, DownloadURLs?