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.
* Unify the generation of URLS and support http://
This is useful for when using fake S3 implementations
* Automatically detect default scheme based on the connection
distinctly styles deprecations for clarity
gives better flexibility for redirecting logs
reduces possibility of missing deprecations because warnings are ignored