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.
I think it would be a bit neater if we just had a top-level `DefaultPaths`, which is constructed by calling NewPaths with `defaultDataDir`, `defaultStartupDir`, etc.