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
The intention was to provide a literal against to compare both the size provided by the backups process and the size of the actual file.  It's the same story with checkChecksum.  In practice they didn't work because the size and checksum of the file change from run to run due to the temp directory path.  So I'll drop the "expected" arg.