Split backend/database between server/dump-manager.
Created by: efritz
The purpose this PR is to move all requirements of a persistent filesystem into the dump-manager process.
The resulting APIs are minimally changed but not very nice. These will be reworked in a future PR to minimize data transfer and coupling.
Digest of actions:
- server/backend/database.ts copied to dump-manager/backend/database.ts (github does not show this as a rename)
- sever/backend/database.ts modified so that all public methods perform an HTTP GET to the dump-manager
- added API routes for each public method of the database class in dump-manager
- purgeOldDumps and cleanFailedUploads tasks moved from server/tasks.ts to dump-manager/tasks.ts (they select files to purge)
- added an "internal" router in server to answer data needed by purgeOldDumps cleanFailedUploads tasks (which require db lookups to determine upload state)