Virtual destructors for I[Sub]Manager
BEGIN FileArchiveManager

This begins a series of commits with the goal of separating FileArchive
management from Database files' management; and to store archive names
in the database to be able to have more than FileArchive and also unify
Trash, Sandbox, etc as FileArchives in the same place.
These are mostly un-compilable. Also the previous commit also contained
some comments about these but it was not 'officially' started, yet.
FileManager saves list of FileArchiveManagers

FileManager also temporarily instantiates a FAM.
Moved AddFileToArchive and related functions to FileArchiveManager
Made changes to make FileManager::AddFile work with FAM
FileManager::GetFullArchiveFilePath now uses FAMs.
Implemented MoveFile/CopyFile in FileManager

We want to implement trash/sandbox with these Move/CopyFile functions.
Also implemented RemoveFileFromArchive in FAM. Now
FileManager::RemoveFileFromArchive is a general function that calls the
matching FAMs' function of the same name.
Trashing the files final cleanups and working
Code clean-up, now FileManager::RemoveFile is TrashFile

this correctly explains what it does right now.
We might introduce a real 'RemoveFile' function later.
Introduce IArchiveManager interface aka IAM

Derived classes are called ArchiveMans. This allows for specializing
FileArchiveManager and SandboxArchiveManager for example.
Implemented FileManager::MoveOrCopyAux that does NOT manipulate the DB
Introduce FileSandBoxManager for sandbox management.

Currently FileSandBoxManager::AddFileToArchive implemented.
Moved FileManager::RemoveDirectoryRecursively to Util

So now we have Util::RemoveDirectoryRecursively.
This is useful to the next commits for the sandbox handling.
Also some code clean-up.
Changed requirement of IArchiveManager::AddFileToArchive

ArchiveMans should system-trash the file, not remove it.
No FileTrashTable anymore!
Add a FileSandBoxManager to FileManager's fileArchives.
Updated FileManager::CopyFileToSandBoxAndGetAddress

Also implemented a useless override.
Creating file archive directories is now responsibility of ArchiveMans.

Moved FileManager::CreateLocalFileDirectory to
IArchiveManager::CreateLocalFileDirectory. Also
FileManager::InitializeFilesDirectory now calls the
IArchiveManager::InitializeFilesDirectory of each child.
Implemented FileSandBoxManager::ClearSandBox

FileManager::ClearSandBox now just calls that.
Implemented FileSandBoxManager::RemoveFileFromArchive