Expose a top-level abstraction for all the backups functionality.

This patch adds a top-level backups abstraction.  It also exposes the backup creation functionality through a method.

The PR that will follow this one:
  https://github.com/ericsnowcurrently/juju/pull/4
You don't need `(func(db.ConnInfo) db.Dumper)`, it will be inferred from the right hand side.