state/apiserver: keep backups in env storage

Whenever the backup API is called keep the backup tarball in environment storage in addition to returning it to the client. Among other things, this will be used to support rollback when upgrades fail.

There is more work to be done to add APIs to support management of these backups. This will be done at a later date by the Moonstone team.
rather than guessing, why not return the error ? fmt.Errorf("backup failed: %v", err)