Replaces full backup and HA copy store with a common implementation.

 o Solves an issue where COPY_STORE and FULL_BACKUP implemented their own
   mechanism for recovery, rather than allowing data sources to run regular
   recovery. This caused problems as the two mechanisms risk diverging.
 o Adds a LogWriter API to allow external tools to write arbitraty logs for
   arbitrary data sources.
 o Refactors a workaround in backup to ensure log files exist into its own
   class.