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
One thing I've tried to do is keep the state DB implementation details separate from the backups code.  Something like DumpMongo (which we had before if I recall correctly) would require that backups become aware of mongo-specific stuff.  I'd rather avoid that if possible.