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
Mostly it is a variant on a validation method in response to private fields.  With the fields public now, I've simply made this Validate() and only return the error.  I do like how Check() gave you the values it validated, so there's much less chance of using outdated/invalid values later.  However, that's not really a concern here so it's not worth the complexity.