EZP-22966: Extracted DFS DFSBackend Interface

It is extracted from the current eZDFSFileHandlerDFSBackend,
that now implements it.

dfscleanup.php had to be modified as it was using quite a lot of
the eZDFSFileHandlerDFSBackend internals. New methods were created
in the interface to account for those changes.
Made DFS FS backend configurable

A new INI setting, eZDFSClusteringSettings.DFSBackend, is introduced.
It sets the backend class used by DFS.

The backend instance is provided by eZDFSFileHandlerBackendFactory.

If a backend implements eZDFSFileHandlerFactoryDFSBackendInterface,
it will be constructed using a 'factory()' static method. If it doesn't,
and instance will be created using 'new'.