SetPort takes a URL and returns it with the HTTPS scheme and the
given port.
If the endpoint is missing an HTTP(S) scheme, assumes input of the form
host[:port].
This is mainly meant to handle the typical case of a user entering either
just a host, host:port, or http(s)://host:port