Add port to host header when necessary for signature v4

Signature v4 calculations should add the port to the host header if it is not a standard port.

I have not been able to test this against AWS so the change should be verified.

This was found testing against Eucalyptus which can require a port in the endpoint URL.