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
For me there are several benefits: shared state, namespaces, and discoverability.

An interface exposes a single namespace, unconfusable with other things that may be exposed in the package.  Furthermore, the interface is much more concise and necessarily localized to the one spot in one file.  That makes it more discoverable.  Likewise it provides an effective summary of the backups functionality.

As to shared state, it reflects the common needs of the various methods.  This will be more clear when we add the rest of the backups functionality.

Regarding extra complexity:

b := backups.NewBackups(stor)
meta, err := b.Create(dbinfo, origin)

vs.

backups.Create(stor, dbinfo, origin)

I don't see much extra complexity there and the first one says more (IMHO).