Creates a backup file at destinationPath.
Allows backup contributors registered in IndexBackupContributorsManager to contribute to that file.
Creates temporary folder for the time of operation and allows and the metadataProvider
to crate additional files in that folder and also adds them to the backup.
Performs cleanup of existing previous snapshot in destination
to leave only maxSnapshots
destinationPath - directory path for newly created snapshot. Will be created if necessary
snapshotId - identifier suffix added to snapshot filename
maxSnapshots - maximum number of snapshots to be left after cleanup phase
archiveType - archiver used for creating the snapshot. If it's null default archiver will be used
metadataProvider - provider of additional files that should be included in the archive, can be null. Files it will create in given temp directory will be removed after the backup ends