Replace the legacy backups implementation with a new one.

The new implementation is refactored to fit to the new backups approach of storing the backups in env storage (along with metadata in mongo). This is the final large patch in the backup series (the remaining ones are much smaller).

The next 2 patches in the series:
https://github.com/ericsnowcurrently/juju/pull/3
https://github.com/ericsnowcurrently/juju/pull/4
Ah, but there is no filename for that file. :)  Keep in mind that create() is meant to be used only internally to the backups package.  In that case returning an open file (which the caller closes) made more sense to me than returning a filename (which the caller must clean up).