S3 storage driver for next gen modifications

This still needs some more minor debugging.
This should be a type assertion, rather than a `fmt.Sprint` call:

```
regionName.(string) == ""
```

You can even check if the type conversion proceeded but a panic is fine, since the configuration is broken if it is not a string.