Support X-Forwarded-Proto and X-Forwarded-Port

When behind proxies, sometimes the proxies terminates SSL
connections. When we are generating links, we want to be able to
create a sane link using the same port and schemes as the reverse
proxy wants, meaning we need to look at X-Forwarded-Proto and maybe
X-Forwarded-Port.

This commit adds both, and uses X-Forwarded-Port in the HostPort
extractor.