When set, use webhosturl for base url in swagger and metadata links

This allows Swagger and metadata pages to use an external public facing FQDN for their API should it differ from what the hosting environment thinks it is. For example when SS is hosted in IIS behind an nginx reverse proxy: https://host.example.com/api => http://192.168.0.25:9090

I also moved the ToHttps() string extension method from the obsoleted class, fixed a couple of defects in the implementation, and backfilled unit tests.