Update the S3 Implementation to support other S3 Bucket Providers like Wasabi Hot Storage,StackIT, DigitalOceanSpaces etc

Update the S3 Implementation to support other S3 Bucket Providers like Wasabi Hot Storage,StackIT, DigitalOceanSpaces etc. There should be a field for a custom s3 endpoint.

e.g. Wasabit Hot Storage = { bucketname }.{ region }.wasabisys.com/{folder}/{file}
StackIT = object.storage.{region}.onstackit.cloud/{bucketname}/{folder}/{file}
DigitalOceanSpaces = {bucketname}.{region}.digitaloceanspaces.com/{folder}/{file}