 * Add per-user master list
 * Archiving changes in location metadata
 * Fix race in lock handling and add timeout support (look in gnome-mime)
 * Support multiple backends from CLI
 * Add translateable backend description support
 * Some way to store the rollback time for each backend, for GUI purposes
 * Have defaults stored somewhere, to be restored when the user goes
   back before the first configuration edit

Long-term
 * Add clustering support:
	- Add Cluster class inheriting Archive class and overriding path 
	  semantics
	- Change location rollback functionality to send data through to 
	  clients if the archive is a cluster
 * Allow backend specs to identify an order in which they should be applied
	- Specify this in the master list; have each location look up that
	  information before invoking multiple backends

Questions

Done
 * Global list of configs for a given archive
 * Location should store backend data in the location where it is valid
 * Add support for dumping XML to stdout rather than running the backend
 * Fix bug where EOF not sent through pipe
 * Changing the name of a location
 * Adding per-user/global backends
   	- Don't try to write out contains list on toplevel locations
	- Give error if the user tries to add a backend to a toplevel location
 * Consistency check on adding and removing backends
	- Make sure the backend is included in the global metadata list before
	  adding
	- When removing global and per-user backends, mark the backend
	  "invalid" and exclude from location_foreach_backend, 
	  location_rollback_all_to, and location_contains.
 * Refactor master list into an attribute of Archive
 * Roll back x number of steps rather than by date
 * Try to factor out populate_locations_list to be common between the
   different dialogs
