Add a backups config abstraction.

This abstraction helps address the problem of hard-coded paths for various sources from which backups pull data.  It also provides a better encapsulation of the information that drives backups.
It would be good to describe the difference between the three `NewBackupsConfig*` functions.