Introduce backup file locators
In order to take incremental backups the location of the backup files needs to be changed so that there is a continuous history of backup bundles instead of overwriting backups every time. This helps ensure that each series of incremental backups can be tied back to a specific full backup.
This MR extracts a "locator" that determines where all the backup files will go for a specific repository and introduces a new locator strategy that uses a LATEST
file to point to the directory that contains the most recent full backup.
We cannot immediately switch to a new strategy as there are a number of tests that expect backup files to be in a specific place.
We have to maintain backwards compatibility with existing backups.
Edited by James Fargher