Relevant Issue: https://sagebionetworks.jira.com/browse/PLFM-4253
make ClientDelegatedS3FIleHandle extend an new ExternalFileHandleInterface and move preview and externalFileHandle
ExternalObjectStoreFileHandle,ExternalObjectStorageLocationSetting, ExternalObjectStoreUploadDestination
StorageLocationSettings are immutable and thus can be cached client side. The information in these will therefore not be repeated in the new implementations of UploadDestination and FileHandle.
The keyPath in ClientDelegatedS3UploadDestination is client generated:/<<UUID>>.
The key in ClientDelegatedS3FIleHandle, once uploaded will be <<UUID>>/fileName.
...