For this ticket:
- Add a storage engine API for opening a backup cursor that returns a list of files that need to be copied.
- Add a complementary method for closing.
- Have the BackupCursorService use this open/close API.
- Ensure BackupCursorService fails opening cursors when one is already open (regardless of whether it's via fsync or openBackupCursor).
- Ensure BackupCursorService fails when using the wrong "close" method. I.e: using using fsyncUnlock after openBackupCursor must not work.
- Adding the "metadata" document with replication information to the "open" result.
- Adding the aggregation stage/exposing this to the client.