[v6r13] Clean-up and changes in the Storage classes

These are a number of changes in order to simplify the logic of the Storage classes:

    - single place where the PFNs are constructed from LFNs ( StorageBase.getPfn() )
    - multiple methods from specific Storage classes are moved to StorageBase
    - StorageFactory creates Storage objects using a standard plugin mechanism ( ObjectLoader )
    - check if StorageElement is allowed for the user's VO
    - dirac-dms-show-se-status shows only SEs eligible for the user's VO
    - fixes in the TestXXX classes
    - suppressed ReplicaManager, MetadataCatalogClient
    - some bug fixes and minor improvements Those changes are still to be thoroughly tested.
getURL is a method to construct URL from an LFN for the normal storage access protocol as defined in the storage description. Storage has a single protocol like that, no need to pass it as an argument. getURLForProtocol() of StorageElement  is corresponding to getTransportURL() of a storage plugin but it takes LFN as its argument where as getTransportURL takes URL. The LFN -> URL conversion is done in the StorageElement method wrapper using getURL(lfn).