Add the API client side for backups.

Note that backups has its own facade, so it isn't quite as simple as adding a new method on Client.
The convention for other API "aspects" seems to be to pass the client to a factory function, like
```
func NewClient(st *api.State) *Client {...}
```
If the whole subpackage structure isn't feasible for some good reason, I'd still change the prototype to a factory-ish name like:
```
func NewBackupClient(st *State) *BackupClient {...}
```