Logics have been centralised:
* region to hostname
* url generation
* signature
* chaning scheme also changes the port
During the process a couple of inconsistencies have also
been fixed.
Known limitations:
When using the @endpoint with a custom port you need to specify the port
when using get_object_http_url or get_object_https_url.
When using bucket names that contain dots outside of us-east-1 make sure to
access it with the same region in your AWS::Storage.