Clean up the backups package.

This is intended as an idempotent change in preparation for further patches.
The named return arguments are intended to act as documentation of what the different values are.  I suppose I could simply *document* them. :)